У меня есть этот XML-файл:
<Elements>
<Element name="A.B.C.x">
<Child>...</Child>
<Child>...</Child>
<Child>...</Child>
</Element>
<Element name="A.B.C.y">
<Child>...</Child>
<Child>...</Child>
</Element>
<Element name="A.D.E.y">
<Child>...</Child>
</Element>
<Element name="A.D.E.z">
<Child>...</Child>
<Child>...</Child>
<Child>...</Child>
</Element>
</Elements>
Мне нужно создать XSL, чтобы получить этот результат:
<Elements>
<Element name="A.B.C">
<LastToken name="x" childCount="3" />
<LastToken name="y" childCount="2" />
</Element>
<Element name="A.D.E">
<LastToken name="y" childCount="1" />
<LastToken name="z" childCount="3" />
</Element>
</Elements>
Я ограничен XSL 1.0 без расширений и не могу понять, как добиться результата.
Любая помощь приветствуется.
Заранее спасибо.
EDIT: Когда пришло несколько ответов, я увидел, что должен уточнить свой вопрос/задачу:
Токены в атрибуте name
узла Element
не ограничены одним символом. Пример значения атрибута name может быть This.Is.Grouping.Target.AndThisIsGroupChild
node-set()
вашего XSLT-процессора. Композиция — один из самых полезных паттернов в декларативной парадигме. 18.04.2011