ВХОД:
stringToSplit = 251 # 999999999 (areaCode + # + pNumber)
ПРОБЛЕМА:
IЯ хочу использовать XSLT, чтобы разделить эту строку (token = #) и сохранить и areaCode, и pNumber в разных переменных, чтобы затем я мог поместить их в желаемую структуру
РЕШЕНИЕ PSEUDOCODE:
Ввод XML
<stringToSplit>351#911111111</stringToSplit>
XSLT 2,0
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8" indent="yes" />
<xsl:template match="/">
<xsl:variable name="stringToSplit2" select="stringToSplit" />
<xsl:variable name="items" select="tokenize($stringToSplit2, '#')"/>
<stringToSplit>
<xsl:value-of select="stringToSplit"/>
</stringToSplit>
<areaCode>
<xsl:value-of select="$items[1]"/>
</areaCode>
<pNumber>
<xsl:value-of select="$items[2]"/>
</pNumber>
</xsl:template>
</xsl:stylesheet>
XSLT 1,0
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<result>
<areaCode>
<xsl:value-of select="substring-before(stringToSplit, '#')"/>
</areaCode>
<pNumber>
<xsl:value-of select="substring-after(stringToSplit, '#')"/>
</pNumber>
</result>
</xsl:template>
</xsl:stylesheet>
ТЕСТИРОВАНИЕ
Неверный результат Notepad ++ -> Notepad ++ XML Tools (плагин) - XSL-преобразование (функция) работает только с XSLT 1.0