xsl-list
[Top] [All Lists]

Re: [xsl] Need help with function to split string and return concatenated string

2010-05-06 20:48:48
On 06/05/2010 23:41, cknell(_at_)onebox(_dot_)com wrote:
I'm still knocking the rust off my brain and I've go to the point where I wish 
to split the value of an attribute and concatenate the pieces to return a 
second string.

I have attributes in my input document which represent latitude and longitude. 
They are presented this way:

34.56.12 N

Where the digits to the left of the first period represent degrees, the digits 
between the two periods represent minutes, and the digits between the second 
period and the space represent seconds.

The output I'm looking for given the input above is

34deg 56min 12sec N

While I used to be a wiz with regular expression when I regularly programmed in 
perl, I have lost it. I would appreciate some guidance.

My idea is to create a function that would perform this string manipulation so 
that I could use something like this in my stylesheet:

<Data><xsl:value-of select="coord(@latitude)"/></Data>
<Data><xsl:value-of select="coord(@longitude)"/></Data>

My input would look like:

<location latitude="34.56.12 N" longitude="125.6.15 E"/>

Thanks.


something like

<xsl:function name="x:f">
  <xsl:param name="x"/>
   <xsl:value-of
select="replace($x,
                 '([0-9]*)\.([0-9]*)\.([0-9]*) ([A-Z])',
                '$1deg $2min $3sec $4')"/>
</xsl:function>

David

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--