xsl-list
[Top] [All Lists]

RE: Converting embedded URLs int hot links via XSL

2004-04-19 09:16:14
So, looks like the problem at hand can not be solved
without using extensions (which I can't)???

Abbas

--- David(_dot_)Pawson(_at_)rnib(_dot_)org(_dot_)uk wrote:
    I don't think that's really the regexp you want
to use, 
    apart frm the fact that it only allows 0-9 and
a-z (not 
    even A-Z). It is only matching up to the first
optional / 
    so basically just the host name part of the URL
plyus 
    optional port specifier.

(That implies that DC actually understood that line
noise :-) I'm impressed
David)

    you don't want to use "tokenize() for this you 
    want to use xsl:analyze-string which should give
you a 
    handle on the bits of the data matching and
not-matching 
    your regexp.

That's it. Thanks David.
    
    I'd use a fairly permissive regexp something
like 
    [a-z]+://[^ 
()"']+ ie everything from
foo:// to the 
    next space or bracket or quote character.

It works within those limits,

 <xsl:analyze-string select="." 
   regex="http://[^ 
( )"']+">

   <xsl:non-matching-substring><xsl:text/>
   <other><xsl:value-of
select="."/></other><xsl:text>
</xsl:text>
   </xsl:non-matching-substring>

   <xsl:matching-substring>
     <span><xsl:value-of select="."/></span>
   </xsl:matching-substring>
 </xsl:analyze-string>

Doing just what was requested,
even escaping the quotes, single and double,
to produce

<other>  Test url string:  '</other>
<span>http://www.yahoo.com/</span><other>'  and one
more url "</other>
<span>http://www.yahoo.com/</span><other>"</other>


Thanks David. 
  I guessed I'd missed something :-)

regards DaveP

- 
DISCLAIMER: 

NOTICE: The information contained in this email and
any attachments is 
confidential and may be privileged. If you are not
the intended 
recipient you should not use, disclose, distribute
or copy any of the 
content of it or of any attachment; you are
requested to notify the 
sender immediately of your receipt of the email and
then to delete it 
and any attachments from your system. 

RNIB endeavours to ensure that emails and any
attachments generated by 
its staff are free from viruses or other
contaminants. However, it 
cannot accept any responsibility for any  such which
are transmitted.
We therefore recommend you scan all attachments. 

Please note that the statements and views expressed
in this email and 
any attachments are those of the author and do not
necessarily represent 
those of RNIB. 

RNIB Registered Charity Number: 226227 

Website: http://www.rnib.org.uk 


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




        
                
__________________________________
Do you Yahoo!?
Yahoo! Photos: High-quality 4x6 digital prints for 25¢
http://photos.yahoo.com/ph/print_splash