Я использую XSLT для преобразования XML. Я хочу разделить символы узла initials
точками:
Следующие вещи, которые мне нужно изменить на initials
:
- Все символы разделены точкой
- Прописать каждый символ
- Удалить пробелы
Я не могу найти способ разделить символы и вставить точки, если они не существуют.
<?xml version="1.0" encoding="UTF-8"?>
<jsonObject>
<account>
<initials>ABC</initials>
</account>
<account>
<initials>A BC</initials>
</account>
<account>
<initials>A.B.C </initials>
</account>
<account>
<initials>a.B.C</initials>
</account>
</jsonObject>
Я хочу следующий вывод после преобразования:
<results>
<account>
<field name="initials">A.B.C</field>
</account>
<account>
<field name="initials">A.B.C</field>
</account>
<account>
<field name="initials">A.B.C</field>
</account>
<account>
<field name="initials">A.B.C</field>
</account>
</results>
моя таблица стилей до сих пор:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="2.0">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/*">
<results>
<xsl:for-each select="account">
<account>
<field name="initials"><xsl:value-of select="upper-case(translate(initials, ' ',''))"/></field>
</account>
</xsl:for-each>
</results>
</xsl:template>
</xsl:stylesheet>