image and binary data

Discussion in 'XML' started by Maurizio Penna, Jan 26, 2004.

  1. I, guys.

    I've embeded an image into a xml file, something like that:
    <display type="picture" mime="image/png" name = "mosaico6.png">
    <![CDATA[ ....my binary data ... ]]>
    </display>

    Now, I want to display it with a XSL Transformation, but my code don't work:
    <display>

    <xsl:attribute name="mime">
    <xsl:value-of select="@CDATA"/>
    </xsl:attribute>
    </display>

    Can, anyone help me?

    thanks in advance.
    Maurizio.
     
    Maurizio Penna, Jan 26, 2004
    #1
    1. Advertising

  2. On 26/01/2004, around 16:58, Maurizio Penna wrote:

    MP> Now, I want to display it with a XSL Transformation
    A quick search of google suggests you can't although I only spend a
    minute or 2 looking. You might find more there is some discussion
    about doing almost exactly what you're talking about here
    http://lists.w3.org/Archives/Public/www-style/2003Jul/0024.html

    --
    Stuart
    The problem with asking other people for their opinions is that they
    frequently give them!
     
    DFN-CIS NetNews Service, Jan 26, 2004
    #2
    1. Advertising

  3. "DFN-CIS NetNews Service" <> ha scritto nel
    messaggio news:...
    On 26/01/2004, around 16:58, Maurizio Penna wrote:

    > A quick search of google suggests you can't although I only spend a
    > minute or 2 looking.


    Thanks for the help.
    I've spended more than 2 minutes on googles to search something. Your link
    don't solve my problem.

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

    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've founded with a google's search).
    The second way is my goal, but I don't know, how to construct the xslt file
    (Listing 5. Output format 2: agentproduct2.xml) to visualize the xml file in
    IE.

    Regards,
    Maurizio.
     
    Maurizio Penna, Jan 26, 2004
    #3
  4. On 26/01/2004, around 09:24, Maurizio Penna wrote:

    MP> For your help, I invite you to see this article: Embed binary data in XML
    MP> documents three ways.
    In that document you are pointed at the file
    http://www-106.ibm.com/developerworks/xml/library/x-binary/binaryxml.zip
    which contains all that was used to generate the example. The author
    seems to use some Java code to do the work. Maybe you'll find the
    answers there.


    --
    Stuart Why is there so much month left at the end of the money?
     
    DFN-CIS NetNews Service, Jan 27, 2004
    #4
  5. In article <newscache$qiy3sh$wlc$>,
    Maurizio Penna <> wrote:

    % 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.
    --

    Patrick TJ McPhee
    East York Canada
     
    Patrick TJ McPhee, Jan 27, 2004
    #5
  6. On 27/01/2004, around 16:12, Patrick TJ McPhee wrote:

    PTM> when you want to display the image, you get the content of <image>,
    PTM> convert it back to binary format, and pass that to the routines that
    PTM> display the image.
    Isn't it possible, say, to generate an multipart HTML document that
    has base64 bits that can be referred to an displayed directly? Or is
    that just a mail thing for attachments?

    --
    Stuart
    Ladies, don't forget the rummage sale. It is a good chance to get rid
    of those things not worth keeping around the house. Bring your
    husbands.
     
    DFN-CIS NetNews Service, Jan 27, 2004
    #6
  7. In article <>,
    DFN-CIS NetNews Service <> wrote:
    % On 27/01/2004, around 16:12, Patrick TJ McPhee wrote:
    %
    % PTM> when you want to display the image, you get the content of <image>,
    % PTM> convert it back to binary format, and pass that to the routines that
    % PTM> display the image.
    % Isn't it possible, say, to generate an multipart HTML document that
    % has base64 bits that can be referred to an displayed directly? Or is
    % that just a mail thing for attachments?

    multipart mime is purely a mail thing. If one of the parts is html,
    and if you use a mailer which can display it and resolve <img> tags
    to attachments, then you can do that. If you are not writing the code
    to process the XML file, you need to embed the image however the code
    that processes it wants it embedded. XML doesn't inherently have any
    image processing capabilities.


    --

    Patrick TJ McPhee
    East York Canada
     
    Patrick TJ McPhee, Jan 28, 2004
    #7
  8. On 28/01/2004, around 17:00, Patrick TJ McPhee wrote:
    PTM> XML doesn't inherently have any
    PTM> image processing capabilities.
    No, I appreciate that, I was thinking more in terms of HTML which
    might be the final output from the XSL transform.

    --
    Stuart
    It is generally inadvisable to eject directly over the area you just
    bombed. - U.S. Air Force Manual
     
    DFN-CIS NetNews Service, Jan 28, 2004
    #8
  9. In article <>,
    DFN-CIS NetNews Service <> wrote:
    % On 28/01/2004, around 17:00, Patrick TJ McPhee wrote:
    % PTM> XML doesn't inherently have any
    % PTM> image processing capabilities.
    % No, I appreciate that, I was thinking more in terms of HTML which
    % might be the final output from the XSL transform.

    In the specific case of html, you might be able to use the data:
    url described in RFC 2397. For instance, you can have

    <img src='data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEASABIAAD/7RJC...
    ...
    T8Md5MeU9GCbz+SbX7k44U7Crun4Kin/ACpIXTqKIOElMUk+iSKn/9k='>

    and if your original XML file has the data as a base-64 encoded
    jpeg file, xslt can be used to generate this. It will work with some
    browsers, but not others.
    --

    Patrick TJ McPhee
    East York Canada
     
    Patrick TJ McPhee, Jan 29, 2004
    #9
  10. On 29/01/2004, around 08:58, Patrick TJ McPhee wrote:

    PTM> In the specific case of html, you might be able to use the data:
    PTM> url described in RFC 2397.
    Cool. I'll give that a go.

    PTM> It will work with some browsers, but not others.
    OK.

    TVM.

    --
    Stuart
    Sea captains don't like crew cuts.
     
    DFN-CIS NetNews Service, Jan 30, 2004
    #10
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Lucas Cowald
    Replies:
    2
    Views:
    21,822
    Steve C. Orr [MVP, MCSD]
    Oct 15, 2003
  2. Denise Smith
    Replies:
    2
    Views:
    658
    Denise Smith
    Nov 22, 2003
  3. Ryan Taylor
    Replies:
    2
    Views:
    3,780
    Ryan Taylor
    Oct 22, 2004
  4. =?Utf-8?B?TmF0aGFuVg==?=

    Getting binary image data from SQL Server

    =?Utf-8?B?TmF0aGFuVg==?=, Feb 2, 2005, in forum: ASP .Net
    Replies:
    1
    Views:
    603
    =?Utf-8?B?TWFydGluIFJhbmRhbGw=?=
    Feb 2, 2005
  5. Jack
    Replies:
    2
    Views:
    221
    John W. Krahn
    Jan 25, 2008
Loading...

Share This Page