Данный фрагмент XML-кода:
<forms>
<FORM lob="BO" form_name="AI OM 10"/>
<FORM lob="BO" form_name="CL BP 03 01"/>
<FORM lob="BO" form_name="AI OM 107"/>
<FORM lob="BO" form_name="CL BP 00 02"/>
<FORM lob="BO" form_name="123 DDE"/>
<FORM lob="BO" form_name="CL BP 00 02"/>
<FORM lob="BO" form_name="AI OM 98"/>
</forms>
Мне нужно отсортировать узлы FORM по алфавиту form_name, чтобы все формы, содержащие «AI OM» в имени form_name, были сгруппированы вместе, а затем внутри них они в числовом порядке по целым числам (то же самое для других форм).
Form_name может быть открыт сезон, так как буквы и цифры могут быть в любом порядке:
XX ## ##
XX XX ##
XX XX ###
XX XX ## ##
XX ###
XX XXXX
'## XXX
XXX ###
То, что я думаю, должно произойти, это то, что строка должна быть разделена между буквенным и числовым. Я думаю, что числовая часть может быть отсортирована с удалением любых пробелов.
Я в недоумении относительно того, как разбить строку, а затем охватить все комбинации сортировки / группировки, учитывая, что в отношении формата 'form_name' не существует правил.
Мы используем XSLT 2.0. Спасибо.