Hi,
I have a xml like this
< xml version="1.0" >
< xml-stylesheet type="text/xsl" href="TestImage.xsl" >
<Look> <gif>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</gif>
</Look>
under gif tag i placed (binary) image contents, in my xsl look like
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:user="urn:my-scripts">
<msxsl:script language="c#" implements-prefix="ext">
public string decodePicture(XPathNodeIterator bindata)
{
if (bindata.MoveNext())
{
using (System.IO.FileStream fs =
System.IO.File.Create("Test.gif"))
{
byte[] data = Convert.FromBase64String(bindata.Current.Value);
fs.Write(data, 0, data.Length);
}
return fs.Name;
}
else
return "";
}
</msxsl:script>
<xsl:template match="Look">
<img
src="{ext:decodePicture(gif)}"/>
</xsl:template>
</xsl:stylesheet>
Is it the correct way to retrieve the image back from xml file please share ur ideas
Thanks in advance
Reply me
Regards

help needed with XSL Transformation
Nichole158860
entertainment-cms.com
How do you run this XSLT
If you want IE to perform the transformation you'd need to change your msxsl:script block. IE uses MSXML.dll to execute XSLT and it doesn't support C# language.
You can use JScript instead.
ferran
No that code is not working. First of all i want to display one image if it works then i will try to embed more image on to the xml file. Please correct the error or suggest me some way to do this
Reply me
Thanks & Regards
Saravanan
manikaagarwal
The following errors were reported for the original stylesheet you posted:
test.xsl(4,29) : error : Prefix 'ext' is not defined.
test.xsl(16,22) : error CS0103: The name 'fs' does not exist in the current context
test.xsl(23,2) : error : Prefix 'ext' is not defined.
I had to make some cosmetic changes, after that the stylesheet worked fine against the XML file you provided:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:ext="urn:my-scripts">
<msxsl:script language="c#" implements-prefix="ext">
if (bindata.MoveNext()) {
using (System.IO.FileStream fs = System.IO.File.Create("Test.gif")) {
byte[] data = Convert.FromBase64String(bindata.Current.Value);
fs.Write(data, 0, data.Length);
return fs.Name;
}
}
return "";
</
msxsl:script><xsl:template match="Look">
<img src="{ext:decodePicture(gif)}"/>
</xsl:template>
</xsl:stylesheet>
Output:
< xml version="1.0" encoding="utf-8" ><img src="C:\Test\Test.gif" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:ext="urn:my-scripts" />
Test.gif file is generated in the current directory.
Thanks,
Anton
Jim Hughes
What is DocBuilder.exe < xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
Does it use XslTransform or XslCompiledTransform
If it doesn't you should ask this question to somebody who produces DocBuilder or XSLT processor used by DocBuilder.
If it doesn't run under .NET framework how you expect it to compile msxsl:script and especially C# scripts
TechGeek1234
This approach may work for you, but please be aware of some implications:
* Security. Does the input XML file come from a trusted source If not, you may wish to impose some restrictions on the maximum number of image files and their sizes.
* Name clashing. You may wish to use the System.IO.Path.GetTempFileName method to ensure uniqueness of file names.
* Clean up. At what moment will the created files be deleted
An alternative approach is using the MIME format (like Save As “Web Page, complete” in Internet Explorer does) to save images in the same .MHT file as the main HTML document.
Hope it helps,
Anton
Mans
Hi,
It is giving the error,
The XML page cannot be displayed
Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh button, or try again later.
Andrew Ham
©2008 Software Development Network
powered by phorum