Разделить строку в xslt - PullRequest
1 голос
/ 11 апреля 2011

Мне нужно разбить строку "ab | bc | cd> xy | yz | zx> pq | rs | tu>

помогите мне, если кто-нибудь сможет ...

здесьэто код ....

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">


<xsl:output method="html" version="1.0" indent="yes" />

<xsl:template match="/products/product">

<xsl:variable name="ImageString" select="properties/property[@name='Brand']"></xsl:variable>

<xsl:variable name="ImageFolderName" select="substring-before($ImageString,'#')" ></xsl:variable>
Folder Name:-<xsl:value-of select="$ImageFolderName" ></xsl:value-of>
<br/>
<xsl:variable name="ImageStringName" select="substring-after($ImageString,'#')" ></xsl:variable>
Final String:-<xsl:value-of select="$ImageStringName" ></xsl:value-of>

<xsl:variable name="values">     
    <xsl:text><xsl:value-of select="$ImageStringName" ></xsl:value-of></xsl:text> 
</xsl:variable>

<xsl:call-template name="str:split">    
    <xsl:with-param name="string" select="$values" />    
    <xsl:with-param name="pattern" select="'|'" /> 
</xsl:call-template> 
</xsl:template>

</xsl:stylesheet>

1 Ответ

4 голосов
/ 11 апреля 2011

Подведем итог связанного вопроса ниже:

Если вы используете XSLT 2.0, вы можете использовать метод tokenize(string, separator).

Если вы используете XSLT 1.0, вам нужно написать рекурсивный метод для достижения этой цели.

или

Используйте метод tokenize (), если ваш шаблон поддерживает EXSLT.

См. этот вопрос для получения полной информации о параметрах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...