Thanks for your answer, yes you are right about the source, it is wrongly
encoded. Actualy, I have a source file in html containing these escaped
sequences in the correct form (’ in this case) but when I use xerces to
create the XML document using the html as a source, the serializer gives me
these double escaped sequences. Maybe it is because it is reading the
characters one by one so when it sees the & character it translates it to &
then the following characters are put as is. Here is the java source code to
generate the XML file (only the concerned method):
protected void create(Document xmldoc){
FileOutputStream fos = null;
try{
// Write To File
fos = new FileOutputStream(filename);
// XERCES 1 or 2 additionnal classes.
OutputFormat of = new
OutputFormat("xml",OUTPUT_FORMAT,false);
of.setIndent(1);
of.setIndenting(true);
XMLSerializer serializer = new XMLSerializer(fos,of);
// As a DOM Serializer
serializer.asDOMSerializer();
serializer.serialize( xmldoc.getDocumentElement() );
fos.close();
} catch(Exception ex){
ex.printStackTrace();
System.out.println("Error:" + ex.getClass().getName()
+":"+ ex.getMessage());
} finally {
try{ fos.close();} catch(Exception
ex){System.out.println("Can't close XML file outputstream");}
}
}
I guess that this code is responsible for the doule escaping.
I would be thankful for any help.
regards
Camille
-----Original Message-----
From: David Carlisle [mailto:davidc(_at_)nag(_dot_)co(_dot_)uk]
Sent: lundi 2 décembre 2002 18:15
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] & replacemnt?
I have a source xml file containing data as:
<html>
<b>Gamme de vitrages d&#8217;allčges opacifiés </b>
_why_ is your source like that. &#8217; is the XML syntax for the
7 characters & # 8 2 1 7 ;
is there any reason that your source does not look like
<html>
<b>Gamme de vitrages d’allčges opacifiés </b>
which is what you intended, I think.
If you must use the replace template then you eant to replace 7
characters by 1, so that is
<xsl:param name="from" select="'&#8217;'"/>
<xsl:param name="to" select="'’'"/>
Note you are _not_ trying to replace & by &.
However it would be much better to fix your source files.
David
_____________________________________________________________________
This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit http://www.star.net.uk/stats.asp or
alternatively call
Star Internet for details on the Virus Scanning Service.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list