Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


RE: msxml3.dll (0x8007000E)

From: JZYCN2@-----------.---------.---
To: NULL
Date: 1/3/2005 5:09:00 AM
How can you setup msxml4 just to test on IE and try it out?  Please let me 
know.

Thanks a lot.

"rdcpro" wrote:

> It's incorrect because you don't have a template that matches Billing_date.  
> The apply-templates looks like:
> 
> <xsl:apply-templates select="Billing_date" />
> 
> But the template you have looks like:
> 
> <xsl:template match="Billing_end_date">
>   <td class="standardText">
>   <xsl:value-of select="myprefix:formatDate(string(.))" /> 
>   </td>
>   </xsl:template>
> 
> It's hard to tell what your XML looks like, but I would think there's a more 
> efficient method of processing in the XSLT.  If MSXML can parse the XML, and 
> the out of memory error is occurring during the transformation, you might 
> pick up a bit here.
> 
> But  unless your IE client machines are pretty robust, I suspect you're not 
> going to be able to do this client-side.  I believe your XML document is way 
> too big.  My main dev machine could probably handle an XML document that big, 
> but it has 2 GB of memory, but most clients aren't going to have anywhere 
> near that much RAM.  Even if it did handle a document that size in DOM, it's 
> going to take a long time to process.  
> 
> I would seriously consider a solution that involves paging of the data from 
> the query, if it can meet your requirements for the data.
> 
> If that won't work, you'll have to use the SAX API of MSXML 3, and do the 
> processing that way.  
> 
> http://msdn.microsoft.com/msdnmag/issues/1100/xml/
> 
> I've never tried this on the client, though.  You may still run into 
> troubles with extremely large documents.
> 
> Regards,
> Mike Sharp
> 
> "JZYCN2" wrote:
> 
> > Why do you think the following is incorrect?  
> > 
> > <xsl:when test="node()='Billing_end_date'">
> > 	<xsl:apply-templates select="Billing_date"/>
> > </xsl:when>
> > 
> > Because whenever it hits the billing_end_date node, then it should apply the 
> > biling_date template.  Then please advise the right way of doing this.  The 
> > XML is created from database through query and I don't know how big it is and 
> > also it is at the client side IE.  If anyone can help can be greatly 
> > appreciated.  Thanks in advance.
> > 
> > "rdcpro" wrote:
> > 
> > > Well, I don't seen anything too weird in the XSLT, though I don't really see 
> > > the reason for that large xsl:choose structure, and there's probably a much 
> > > more efficient way of doing it.  Also, this appears to be incorrect:
> > > 
> > > <xsl:when test="node()='Billing_end_date'">
> > > 	<xsl:apply-templates select="Billing_date"/>
> > > </xsl:when>
> > > 
> > > 
> > > How big, in megabytes, is that XML?  It's entirely possible that MSXML 4 
> > > will handle this better.   If it doesn't, you'll probably have to use the SAX 
> > > API to process this, or else you'll have to break up the XML into chunks that 
> > > are easier to manage.
> > > 
> > > Are you by any chance doing this client-side in IE?  If so, then your memory 
> > > constrains are probably even tighter, because IE has to render that huge 
> > > thing as well.   Sounds like a job for a paging interface.
> > > 
> > > I think, but can't really say for sure, that you can handle much larger XML 
> > > documents in .NET than you can with MSXML, because you can use a stream based 
> > > parser to read the XML.  It still generates an in-memory representation of 
> > > the data, but I believe the memory footprint is lower.  Anyone else out there 
> > > know for sure?
> > > 
> > > 
> > > Regards,
> > > Mike Sharp 
> > > 
> > > "JZYCN2" wrote:
> > > 
> > > > My xslt file is not big and I can attach that.  However, XML file might be 
> > > > extremely big 86k rows of data has lots of fields.  So by using different 
> > > > version of msxml may help to resolve this problem?
> > > > 
> > > > My xslt file:
> > > > 
> > > > - <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
> > > > xmlns:msxsl="urn:schemas-microsoft-com:xslt" 
> > > > xmlns:myprefix="http://www.captionkit.com/namespaces" version="1.0">
> > > >   <xsl:output method="html" /> 
> > > > - <xsl:template match="/">
> > > > - <xsl:if test="count(root/gmol) > 65530">
> > > >   <H5>Warning: First 65,530 records were imported into Excel.</H5> 
> > > >   </xsl:if>
> > > > - <table border="1" width="100%">
> > > > - <xsl:for-each select="/root/gmol">
> > > > - <tr>
> > > > - <xsl:choose>
> > > > - <xsl:when test="node()='Billing_end_date'">
> > > >   <xsl:apply-templates select="Billing_date" /> 
> > > >   </xsl:when>
> > > > - <xsl:when test="node()='Notification_Date'">
> > > >   <xsl:apply-templates select="Notification_Date" /> 
> > > >   </xsl:when>
> > > > - <xsl:when test="node()='Comment_Date'">
> > > >   <xsl:apply-templates select="Comment_Date" /> 
> > > >   </xsl:when>
> > > > - <xsl:when test="node()='GRS_Date'">
> > > >   <xsl:apply-templates select="GRS_Date" /> 
> > > >   </xsl:when>
> > > > - <xsl:when test="node()='last_scan_date'">
> > > >   <xsl:apply-templates select="last_scan_date" /> 
> > > >   </xsl:when>
> > > > - <xsl:otherwise>
> > > >   <xsl:apply-templates select="*" /> 
> > > >   </xsl:otherwise>
> > > >   </xsl:choose>
> > > >   </tr>
> > > >   </xsl:for-each>
> > > >   </table>
> > > >   </xsl:template>
> > > > - <xsl:template match="*">
> > > > - <td class="standardText">
> > > > - <xsl:choose>
> > > >   <xsl:when test=". = ' ' or . = ''"> </xsl:when> 
> > > > - <xsl:otherwise>
> > > >   <xsl:value-of select="." /> 
> > > >   </xsl:otherwise>
> > > >   </xsl:choose>
> > > >   </td>
> > > >   </xsl:template>
> > > > - <xsl:template match="Billing_end_date">
> > > > - <td class="standardText">
> > > >   <xsl:value-of select="myprefix:formatDate(string(.))" /> 
> > > >   </td>
> > > >   </xsl:template>
> > > > - <xsl:template match="Notification_Date">
> > > > - <td class="standardText">
> > > >   <xsl:value-of select="myprefix:formatDate(string(.))" /> 
> > > >   </td>
> > > >   </xsl:template>
> > > > - <xsl:template match="Comment_Date">
> > > > - <td class="standardText">
> > > >   <xsl:value-of select="myprefix:formatDate(string(.))" /> 
> > > >   </td>
> > > >   </xsl:template>
> > > > - <xsl:template match="GRS_Date">
> > > > - <td class="standardText">
> > > >   <xsl:value-of select="myprefix:formatDate(string(.))" /> 
> > > >   </td>
> > > >   </xsl:template>
> > > > - <xsl:template match="last_scan_date">
> > > > - <td class="standardText">
> > > >   <xsl:value-of select="myprefix:formatDate(string(.))" /> 
> > > >   </td>
> > > >   </xsl:template>
> > > > - <msxsl:script language="javascript" implements-prefix="myprefix">
> > > > - <![CDATA[ 
> > > > 	function formatDate(myDate)
> > > > 	{
> > > > 	  var finalDate= "";
> > > > 	  var dateStr = new Date(myDate);   //.item(0).text;
> > > > 	  
> > > > 	if(isNaN(myDate))
> > > >     	{
> > > > 		
> > > > 		finalDate = ((dateStr.getMonth()+1) + "/" + dateStr.getDate() + "/" + 
> > > > dateStr.getFullYear()) 
> > > > 		return (finalDate)
> > > > 	}
> > > >       else
> > > >       {
> > > > 		return (" ")
> > > >       }
> > > >     }  
> > > >   
> > > > 
> > > >   ]]> 
> > > >   </msxsl:script>
> > > >   </xsl:stylesheet>
> > > > 
> > > > 
> > > > 
> > > > 
> > > > "rdcpro" wrote:
> > > > 
> > > > > How big is the XML in KB?  What's the biggest it could reasonably be?  86k 
> > > > > rows means this is probably a pretty big file, and it's possible you're 
> > > > > simply out of memory.  If the XML isn't simply too big, there are a number of 
> > > > > techniques you can use in the XSLT to reduce the working set.  You may have 
> > > > > to post some or all of your XSLT.  
> > > > > 
> > > > > Regards,
> > > > > Mike Sharp
> > > > > 
> > > > > "JZYCN2" wrote:
> > > > > 
> > > > > > We have the following probblem:
> > > > > > When we return about 86K rows of data using xml and xslt, it gives us the 
> > > > > > following message:
> > > > > > Error Type:
> > > > > > msxml3.dll (0x8007000E)
> > > > > > Not enough storage is available to complete this operation. 
> > > > > > 
> > > > > > Can any one help?  Thanks a milllion in advance.


transparent
Print
Mail
Digg
delicious
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent