Я знаю, что это отличается от первоначального вопроса, но это был мыслительный процесс я думал, чтобы достигнуть ниже желаемого результата:Как построить иерархическую раздел/подраздел/пункт «путь»
XML INPUT:
<section hangIndent="no" indent="arabic 1 digit"
isProposedAmendment="no" label="2A">
<title>AAA</title>
<body>
BBB<subSection label="1">
<body>
<para hangIndent="yes" indent="loweralpha 1 character"
isProposedAmendment="no" label="a">
<body>
CCC
</body>
</para>
<para hangIndent="yes" indent="loweralpha 1 character"
isProposedAmendment="no" label="b">
<body>
DDD
</body>
</para>
<para hangIndent="yes" indent="loweralpha 1 character"
isProposedAmendment="no" label="c">
<body>
EEE
</body>
</para>
</body>
</subSection>
</body>
<annotation isProposedAmendment="no">
FFFFF
</annotation>
</section>
желаемый результат: я создаю имя xmlpath на основе метки каждого узла и вставляю его в каждую конечную точку.
<nm:xmlpath name ="2A" />
<section hangIndent="no" indent="arabic 1 digit"
isProposedAmendment="no" label="2A">
<title>AAA</title>
<body>
BBB
<nm:xmlpath name ="2A 1" />
<subSection label="1">
<body>
<nm:xmlpath name ="2A 1(a)" />
<para hangIndent="yes" indent="loweralpha 1 character"
isProposedAmendment="no" label="a">
<body>
CCC
</body>
</para>
<nm:xmlpath name ="2A 1(b)" />
<para hangIndent="yes" indent="loweralpha 1 character"
isProposedAmendment="no" label="b">
<body>
DDD
</body>
</para>
<nm:xmlpath name ="2A 1(c)" />
<para hangIndent="yes" indent="loweralpha 1 character"
isProposedAmendment="no" label="c">
<body>
EEE
</body>
</para>
</body>
</subSection>
</body>
<annotation isProposedAmendment="no">
FFFFF
</annotation>
</section>
Но при такой скорости ** без корневого элемента ** ваш XML может стать недействительным! Ты в порядке с этим? –
@ InfantPro'Aravind 'его тестовые данные huger xml, который будет иметь корень. Благодарю. – luckyluke
Если есть больше контекста, то, пожалуйста, покажите нам образец ввода как трансформации, так и желаемого вывода, включая корневой элемент, в противном случае сложно предложить код. –