Subject: Re: [xsl] string question From: Jeni Tennison <mail@xxxxxxxxxxxxxxxx> Date: Wed, 21 Feb 2001 13:10:16 +0000 |
Hi David, >>From this xml (those IP persons might recognize this): > <b310>08/773,384</b310> > > I need: > PR_08/773,384 PR_08 PR_773 PR_384 > > Basically, all punctuation (and spaces) are "segment" delimiters. Starting > with entire content, each segment is then prefixed with PR_. Any help would > be greatly appreciated. Assuming that your strings are always of the form: DD/DDD,DDD (where D is a digit) you could use: PR_<xsl:value-of select="b310" /> PR_<xsl:value-of select="substring(b310, 1, 2)" /> PR_<xsl:value-of select="substring(b310, 4, 3)" /> PR_<xsl:value-of select="substring(b310, 8, 3)" /> If the lengths of the different parts of the strings can vary, then you need to use substring-before() and substring-after(): PR_<xsl:value-of select="b310" /> PR_<xsl:value-of select="substring-before(b310, '/')" /> PR_<xsl:value-of select="substring-before( substring-after(b310, '/'), ',')" /> PR_<xsl:value-of select="substring-after( substring-after(b310, '/'), ',')" /> If there can be more parts to the string, then you need a recursive solution. If that's the case, then can you write a general pattern for the string, and we'll try to work something out? I hope that helps, Jeni --- Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] string question, David Santamauro | Thread | RE: [xsl] string question, David Santamauro |
Re: Designs for XSLT functions (Was, Clark C. Evans | Date | [xsl] Line breaks added during tran, Paul Signorelli |
Month |