% I'm sorry for my poor english. so I rewrite my problem:
% I must display an image that lives into the xml file, in a CDATA section.
You have a problem here. There are certain characters which are likely
to appear in your image, but which are not permitted in an XML file.
It doesn't matter whether you put CDATA around them or not -- the
characters are simply not allowed, and there's nothing you can do about
it. You can't even use a character reference ( is not permissible,
for instance). You need to convert to an ascii format when you're embedding
binary data.
% And I must use a xslt files to display it. I don't now how to say to the
% xslt file that my image is into the CDATA section.
XSLT doesn't know, and shouldn't be able to know, when you're using a CDATA
section. You need to identify your data by the element of which it's part.
Having said that, XSLT can be used to extract the image data from your
original file, but it can't do much with it -- it might be able to
convert it back to binary format given enough work, but it certainly can't
display it, and in XSLT 1.0 it can't write each image to a separate file,
if there's more than one image in the XML file. It doesn't sound like it's
an appropriate or useful tool for your problem.
% For your help, I invite you to see this article: Embed binary data in XML
% documents three ways. At
%
http://www-106.ibm.com/developerworks/xml/library/x-binary/index.html (that
I glanced briefly at this article, and I'd say it's not worth reading.
What you want to do, and what the author of the article is actually
doing in his CDATA example (Listing 5), is to convert the binary data into
MIME base 64 encoding. This is a text format which can be included anywhere
text is allowed in an XML document. No CDATA section is required.
When you generate your XML file, you convert the image to mime base64
(there are libraries for doing this all over the place -- which one you
use depends on what language you're working with), then include the
resulting text like any other text.
<image>/9j/4AAQSkZJRgABAgEASABIAAD/2wBDABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8R
DAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/2wBDAREPDxETERUSEhUUDg4O
...
RqhJSQesx30juD8TsA/ulVPz8zfzTU62+zT6VrKK2tt6IiAscn3uVPdSYPUtc17m4MLCxL8w
IPN96Xwx5kLyvsMg+f5Qb/shHSPEi7w9DGw/4wIDDGzoOkAGxQ7RSQP/2Q==
</image>
when you want to display the image, you get the content of <image>,
convert it back to binary format, and pass that to the routines that
display the image.