У меня есть входной XML, который имеет это
<BankStatementAccount>
<Line>
<Data>TEST,,TEST,,,</Data>
</Line>
<Line>
<Data>,,,,,</Data>
</Line>
<Line>
<Data>Account:,TEST,TEST,,,</Data>
</Line>
<Line>
<Data>,,,,,</Data>
</Line>
<Line>
<Data>Payment Date:,1/5/2019,,,,</Data>
</Line>
<Line>
<Data>,,,,,</Data>
</Line>
<Line>
<Data>Payment No:,123456,,,,</Data>
</Line>
<Line>
<Data>,,,,,</Data>
</Line>
<Line>
<Data>11/01/19,crnote,088-543215432,(48.47),(3.39),(45.08)
</Data>
</Line>
<Line>
<Data>05/02/19,crnote,033-123456789,(10.09),(0.71),(9.38)
</Data>
</Line>
<Line>
<Data>,,,,,</Data>
</Line>
<Line>
<Data>,,Amount Paid,"133,654.70","9,356.10 ","124,298.60 "
</Data>
</Line>
<Line>
<Data>,,,,,</Data>
</Line>
</BankStatementAccount>
Каждое <Line>
строковое значение имеет 6 значений данных, разделенных 5 запятыми.
Мне нужно иметь возможность разделить их на отдельные теги.
Чтобы выглядеть примерно так:
От: <Line>05/02/19,cr note,033-123456789,(10.09),(0.71),(9.38)</Line>
Кому:
<Line>
<tag1>05/02/19</tag1>
<tag2>cr note</tag2>
<tag3>033-123456789</tag3>
<tag4>(10.09)</tag4>
<tag5>(0.71)</tag5>
<tag6>(9.38)</tag6>
</Line>
Я пытался,
<BankStatementAccount>
<xsl:for-each select="BankStatementAccount/Line">
<Line>
<xsl:value-of select="Data" />
<xsl:variable name="var" select="substring(.,1,8)" />
<tag1><xsl:value-of select="$var[1]" /></tag1>
<!-- and $var[2].. so on.. -->
</Line>
</xsl:for-each>
</BankStatementAccount>
но я продолжаю получать эту ошибку
FATAL ERROR: 'Ошибка проверки типа выражения
'filter-expr (variable-ref (var / string), [pred (int-expr (1))])'. '
Я попробовал подстроку (., 1,8) сначала посмотреть, получу ли я символы с позиции 1 - 8, но я не могу запустить это.
Буду признателен за любую помощь.
Спасибо.