xsl-list
[Top] [All Lists]

RE: [xsl] Unicode Search/Replace

2008-05-14 05:07:56

The code in your <xsl:template match="text()"/> is only executed if you
apply-templates to text nodes. It is not evaluated if you process the
contents of text nodes using xsl:value-of.

Michael Kay
http://www.saxonica.com/ 

-----Original Message-----
From: Pankaj Chaturvedi [mailto:pankaj(_dot_)chaturvedi(_at_)idsil(_dot_)com] 
Sent: 14 May 2008 12:53
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Unicode Search/Replace

Hi all,

I am not sure whether I asked this before, but let me take 
chance. I am using the below for search/replace all the 
Unicode entities in my output from [#x....] to &#x....; form. 
Everything works perfect except the cases where I am using 
the Xpath fuctions like "substring", "substring-before", 
"substring-after" etc, and the resulting outputs comes out to 
be again [#x....] format.


For example If I have the below markup

<root>
<coden>xxx xxx &hyphen; xxx xx, Vol. 22, No. 1, January 2008, pp.
93-104</coden>
</root>

and if I use in <root>        <xsl:value-of 
select="substring-before(./coden,
',')"/>

I am getting the output like xxx xxx [#x002d] xxx xx while I 
would like xxx xxx &#x002d; xxx xx

<!--  Search Replace  -->

      <xsl:character-map name="searchreplace">
              <xsl:output-character character="&#xE000;" 
string="&amp;"/>
      </xsl:character-map>
      <xsl:template match="text()">
              <xsl:sequence select="replace(., 
'\[#x([0-9A-Za-z]+)\]', '&#xE000;#x$1;')"/>
      </xsl:template>


It seems search/replace does not works on text where these 
are functions are used. Any suggestions how to get this done.


Best,

Pankaj

<HTML><BODY><P><hr size=1></P>
<P><STRONG>

Confidentiality Notice:" This message and any attachment(s) 
contained here are information that is confidential, 
proprietary to IDS Infotech Ltd. and its customers.
Contents may be privileged or otherwise protected by law. The 
information is solely intended for the individual or the 
entity it is addressed to. If you are not the intended 
recipient of this message, you are not authorized to read, 
forward, print, retain, copy or disseminate this message or 
any part of it. If you have received this e-mail in error, 
please notify the sender immediately by return e-mail and 
delete it from your computer."

</STRONG></P></BODY></HTML>

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



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

<Prev in Thread] Current Thread [Next in Thread>