Как отформатировать строку в элементе XML с помощью xslt
У меня есть XML, в котором один из элементов имеет объединенный список комментариев. Мне нужно отформатировать это и сопоставить его с целевым узлом xml.
Введите значение элемента XML:
<Comment> TJ-TACO JOHNS Dented Cans - RFS# D2804 and D01441)Inspect entire load for dented cans.2)Pay close attention to hidden damage of dentedcans, specially towards the bottom cornersof pallet.3)If dented cans found,take pictures, rejectimplicated product & document in COMMENTS on PO.4)Report issue to buyer to notify vendor.5)Report issue to FSQA to notify Taco Johns QA. </Comment>
Ожидаемый формат вывода:
<Output>
TJ-TACO JOHNS Dented Cans - RFS# D2804 and D0144
1)Inspect entire load for dented cans.
2)Pay close attention to hidden damage of dentedcans, specially towards the bottom cornersof pallet.
3)If dented cans found,take pictures, reject implicated product & document in COMMENTS on PO.
4)Report issue to buyer to notify vendor.
5)Report issue to FSQA to notify Taco Johns QA.
</Output>
Как мне добиться этого в xslt?
1 ответ
Решение
Попробуй это:
<xsl:template match="Comment">
<Output>
<xsl:analyze-string select="." regex="[0-9]\)">
<xsl:matching-substring>
<xsl:text>
</xsl:text><xsl:value-of select="regex-group(0)"></xsl:value-of>
</xsl:matching-substring>
<xsl:non-matching-substring>
<xsl:value-of select="."></xsl:value-of>
</xsl:non-matching-substring>
</xsl:analyze-string>
</Output>
</xsl:template>
Вы можете проверить скрипт на http://xsltransform.hikmatu.com/nbUY4ko
Но в вашем вопросе нет дополнительной информации, так что это работает только для однозначного числа.