Re: [xsl] Re: Identity transformation for XSLT 2.0

Subject: Re: [xsl] Re: Identity transformation for XSLT 2.0
From: Colin Paul Adams <colin@xxxxxxxxxxxxxxxxxx>
Date: Sun, 23 Dec 2007 16:03:13 +0000
>>>>> "Florent" == Florent Georges <lists@xxxxxxxxxxxx> writes:

    Florent> Colin Paul Adams wrote:
    Florent>   Hi Colin,

    >> doc (concat ("data:application/xml", ';base64,',
    >> base64Binary($string-value)))

    Florent>   I don't know any function named base64Binary.  If you
    Florent> mean xs:base64Binary, I think it should raise an error if
    Florent> your string contains anything else than the 64 allowed
    Florent> chars.

I meant that, yes. I was thinking it would function as a converter,
but thinking again, you must be right.
    Florent>   Actually, I didn't find any simple way to base64-encode
    Florent> a string in F&O.  Did I miss something?

I guess an xsl:function could do it, but the percent-encoding way is
sufficient in this case.

    >> doc (concat ("data:application/xml,",
    >> encode-for-iri($string-value)))

    Florent>   I guess you mean encode-for-uri (URI, not IRI), don't
    Florent> you?

I always get condused between those three encoding functions.

    Florent>   After a simple test (using the string '<elem/>' and its
    Florent> hard-coded base64 value 'PGVsZW0vPg==') it seems that
    Florent> Saxon 9 doesn't support the data scheme, while Gestalt
    Florent> supports it through encode-for-uri but raises a parsing
    Florent> error with the base64 encoding.

That sounds like a bug. Can you raise it with an example on
sourceforge please?
Colin Adams
Preston Lancashire

Current Thread