0

How do we split some string based on some character/separator in given url.

Given url like: www.example.com/content/index.html

Desired output like: Index

Code:

<span transId="gadget_{position()}"><xsl:value-of select="www.example.com/content/index.html" /> </span>
1

1 Answer 1

1

You can use tokenize and substring-before in build function to achive your desired ouput:

EXAMPLE INPUT:

<?xml version="1.0" encoding="UTF-8"?>
<body>
    <exp>www.example.com/content/index.html</exp>
</body>

EXAMPLE XSLT:

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
    <xsl:output method="xml" encoding="UTF-8" indent="yes" />


    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>

    <xsl:template match="exp">
        <span transId="gadget_{position()}">
            <xsl:value-of select="substring-before(tokenize(., '/')[last()],'.')" />
        </span>
    </xsl:template>

</xsl:transform>

EXAMPLE OUTPUT:

<?xml version="1.0" encoding="UTF-8"?>
<body>
    <span transId="gadget_2">index</span>
</body>
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.