|
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 |