XSL and Windows CE Blues
- From: "Gordon Shirley" <gshirley@xxxxxxxxxxx>
- Date: Thu, 13 Apr 2006 15:06:58 -0400
Here is my problem as best as I can put it:
I have a handheld device that has Windows CE on it.
The .NET Compact Framework is also installed.
I have a C# .NET Windows form app that I am writing for the handheld.
The .NET CF provides the System.Xml namespace for all my XML needs EXCEPT
XSL transforms.
I need to be able to do XSL transforms on the handheld.
I have been lead to believe by online posts that you can do XSL transforms
by including the msxml3.dll COM object as a reference.
I realize that depending on how my OS was built by the manufactor of the
device that I may have limited functionality avaliable in the installed
msxml3.dll.
I have made a test app by running the command line tool tlbimp against the
msxml3.dll installed on my PC and including the resulting msxml3TypeLib.dll
as a reference.
When I deploy and run the app on the device, I get the below message:
COM object with CLSID '{CFC399AF-D876-11D0-9C10-00C04FC99C8E}' cannot be
created due to the following error: Class not registered .
So, naturally I go to the device and try to register \windows\msxml3.dll
using regsvrce.
However, I get the below error:
\windows\msxml3.dll was loaded, but the DllRegisterServer entry point was
not found.
DllRegisterServer many not be exported, or a corrupt version of
\windows\msxml3.dll may be in memory. Consider using PView to detect and
remove it.
I search the web for an app called PView but it seems to be antiquated and
no longer available.
So, naturally I try to unregister \windows\msxml3.dll but I get the same
error but for a different entry point.
So, naturally I guess that the msxml3.dll loaded on my device is different
than the one that I have on my machine, and try to copy it over to my PC.
Turns out I can not copy the msxml3.dll installed on my device because it is
in ROM and objects in ROM can not be copied.
Here is where I got stuck.
Bottom line is that I just want to be able to do xsl transforms on my
Windows CE device. I am including a code snippet for those interested, but I
can
send the whole zipped test project to whomever is interested.
-------------------------------Code Snip-----------------------------------
XMLDocument myDoc = new XMLDocument();
FreeThreadedDOMDocument xmlSource = new FreeThreadedDOMDocument();
FreeThreadedDOMDocument xmlOutput = new FreeThreadedDOMDocument();
XSLTemplate template = new XSLTemplate();
FreeThreadedDOMDocument xmlStyle*** = new FreeThreadedDOMDocument();
Stream xmlSourceStream = File.OpenRead(@"\Storage
Card\Mobile5_XSL\xml\example1.xml");
xmlSource.load(xmlSourceStream);
Stream xslSourceStream = File.OpenRead(@"\Storage
Card\Mobile5_XSL\xml\example1.xsl");
xmlStyle***.load(xslSourceStream);
template.style*** = xmlStyle***;
IXSLProcessor processor = template.createProcessor();
processor.input = xmlSource;
processor.output = xmlOutput;
processor.transform();
return (xmlOutput.xml);
.
- Prev by Date: Re: how to create a Property Page in Property ***.
- Next by Date: XSL and Windows CE Blues
- Previous by thread: Re: turning off wzc (zero config for 802.11)
- Next by thread: XSL and Windows CE Blues
- Index(es):