У меня есть данные с разделителями на входе в следующем формате
A;B;C;D;E;F;G;H;I;J;K
, а вывод должен выглядеть как
<1>A</1>
<2>B</2>
<3>C</3>
<4>D</4>
<5>E</5>
<6>F</6>
<7>G</7>
<8>H</8>
<9>I</9>
<10>J</10>
<11>K</11>
Выше упомянута максимальная длина этой строки с разделителями. Написали xslt, чтобы иметь возможность разделить строку с разделителями и получить желаемый результат, используя несколько подстрок, как указано ниже, и иметь возможность получить вывод
<xsl:value-of
select="substring-before(substring-after(substring-after(substring-after(string,';'),';'),';'),';')"/>
Проблема: поставщик не все время отправляет данные в формате упомянутый выше, который равен A;B;C;D;E;F;G;H;I;J;K
.
Когда есть пустые значения, мы предположили, что это будет выглядеть как A;B;C;D;;;;;;;
.
Однако в таких случаях мы получаем A;B;C;D
и никаких пустых разделителей после него.
При условии, что наша строка имеет фиксированную длину, наше извлечение logi c с использованием приведенных выше работ до и после. Если длина не соблюдается, мы не сможем извлечь данные.
Может ли кто-нибудь помочь с logi c, который не зависит от полученной длины, то есть данные перед первым разделителем всегда <1> и между 1 и 2 разделителя - это <2> и т. Д.