Im работает с XSLT1.0 (процессор не может обрабатывать 2.0) и имеют проблемы, пытаясь группе вывод структуры XML:XSL группировка xml по элементу
< строки >
< порядка >
< текст > некоторый порядок текст 1
</текст >
</заказ>
</row>
<
< оплаты >
< текст > некоторые платежа текст 1
</текст >
</оплаты>
</строка>
< строки >
< заказ >
< текст > некоторый порядок текст 2
</текст >
</заказ>
</строка>
< строки >
< контакт >
< текст > некоторые контактные данные 1
</текст >
</контакт>
</строка>
< строки >
< контакт >
< текст > некоторые контактные данные 2
</текст >
</контакт>
</строка>
Сегодня мы выбираем все строки и называем применить шаблон для каждого (каждого типа имеет свой собственный шаблон, который выписывает свое тело), что создает выход, как:
ордена: некоторый порядок TEXT1
заказа: некоторый порядок text2
Оплата: некоторые оплаты text1
Контакт: некоторые контакты details1
Контакт: некоторые контакты details2
Но то, что я хотел бы, чтобы (в XSLT 1.0) в группу выход, так что:
Заказать
- некоторый порядок text1
- некоторый порядок text2
Оплата
- некоторые оплаты TEXT1
Контакт
- некоторые контакты details1
- некоторые контакты details2
Очевидно, что существует много других типов элементов, чем заказ, оплата и контакт вовлеченного здесь поэтому выбор явных имен элементов не является решением проблемы.
EDIT
Ty, некоторые большие ответы, как бы Muenchian группировка изменения решение, если я имел структуру сказать
<customers>
<person>
<row>....</row> (row is same as above)
<row>....</row>
</person>
<person>
<row>....</row>
<row>....</row>
<row>....</row>
</person>
Затем ключ:
<xsl:key name="type" match="row/*" use="local-name()"/>
выбрать бы все ряды по всем лицам, которых я не хотел. Спасибо за отличные ответы.
возможно дубликат [как применить группу, на XSLT элементов] (http://stackoverflow.com/questions/2146648/how-to-apply-group-by-on-xslt-elements) – annakata
Duped много, много, * много *, раз больше. – annakata
@ user408346: Пожалуйста, задайте новый вопрос. Не добавляйте к этому вопросы новые вопросы. – 2010-10-13 12:40:44