RE: [xsl] & replacemnt?

Subject: RE: [xsl] & replacemnt?
From: "El Hage Camille" <CAMILLE.ELHAGE@xxxxxxxxxxxxxxxx>
Date: Tue, 3 Dec 2002 10:13:13 +0100
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 (&#8217; 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 &amp; 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@xxxxxxxxx]
> Sent: lundi 2 décembre 2002 18:15
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: Re: [xsl] &amp; replacemnt?
> 
> 
> I have a source xml file containing data as:
> <html>
>   <b>Gamme de vitrages d&amp;#8217;allčges opacifiés </b>
> 
> _why_ is your source like that. &amp;#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&#8217;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="'&amp;#8217;'"/>
> <xsl:param name="to" select="'&#8217;'"/>
> 
> Note you are _not_ trying to replace &amp; 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


Current Thread