You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cocoon.apache.org by "Francis, Lee" <Le...@tfn.com> on 2003/05/21 23:25:20 UTC

That ole "org.apache.xml.dtm.DTMException: No more DTM IDs are av ailable" again...




I am using cocoon with Xalan 2.5.0 and Xerces 2.4.0 to transform an xml
source file into an excel doc. I have been getting the problem :
------------------------------------------------------
org.apache.xml.dtm.DTMException: No more DTM IDs are available
------------------------------------------------------
The xsl is very simple as is the xml doc, it works fine when transforming a
small xml source doc but anything of size 2+ MB I get the no more dtm id's
problem.

Having read through all the threads on how to resolve this issue I have
tried all of the following.

make sure most recent version of Xalan 2.5 and Xerces 2.4 are being used, I
even modified the CocoonServlet so it writes out it my environment..
------------------------------------------------------
boolean environmentOK = (new EnvironmentCheck()).checkEnvironment (new
PrintWriter(System.out));
------------------------------------------------------

The result was :
------------------------------------------------------
#---- BEGIN writeEnvironmentReport($Revision: 1.19 $): Useful stuff found:
----
version.DOM.draftlevel=2.0fd
java.class.path=./tools/loader
version.JAXP=1.1
java.ext.dirs=/usr/java/j2sdk1.4.1_02/jre/lib/ext
#---- BEGIN Listing XML-related jars in: foundclasses.sun.boot.class.path
----
xalan.jar-apparent.version=xalan.jar WARNING.present-unknown-version
xalan.jar-path=/root/temp/cocoon-2.1m2/./lib/endorsed/xalan.jar
xercesImpl.jar-apparent.version=xercesImpl.jar from xalan-j_2_5_0 from
xerces-2_4
xercesImpl.jar-path=/root/temp/cocoon-2.1m2/./lib/endorsed/xercesImpl.jar
xml-apis.jar-apparent.version=xml-apis.jar present-unknown-version
xml-apis.jar-path=/root/temp/cocoon-2.1m2/./lib/endorsed/xml-apis.jar
xalansamples.jar-apparent.version=xalansamples.jar present-unknown-version
xalansamples.jar-path=/root/temp/cocoon-2.1m2/./lib/endorsed/xalansamples.ja
r
#----- END Listing XML-related jars in: foundclasses.sun.boot.class.path
-----
version.xerces2=Xerces-J 2.4.0
version.xerces1=not-present
version.xalan2_2=Xalan Java 2.5.0
version.xalan1=not-present
version.ant=not-present
java.version=1.4.1_02
version.DOM=2.0
version.crimson=not-present
sun.boot.class.path=./lib/endorsed/xalan.jar:./lib/endorsed/xercesImpl.jar:.
/lib/endorsed/xml-apis.jar:./lib/endorsed/bsf.jar:./lib/endorsed/xalansample
s.jar:./lib/endorsed/xsltcapplet.jar:./lib/endorsed/xsltcbrazil.jar:./lib/en
dorsed/xsltcejb.jar:./lib/endorsed/xsltcservlet.jar:/usr/java/j2sdk1.4.1_02/
jre/lib/rt.jar:/usr/java/j2sdk1.4.1_02/jre/lib/i18n.jar:/usr/java/j2sdk1.4.1
_02/jre/lib/sunrsasign.jar:/usr/java/j2sdk1.4.1_02/jre/lib/jsse.jar:/usr/jav
a/j2sdk1.4.1_02/jre/lib/jce.jar:/usr/java/j2sdk1.4.1_02/jre/lib/charsets.jar
:/usr/java/j2sdk1.4.1_02/jre/classes
version.SAX=2.0
version.xalan2x=Xalan Java 2.5.0
#----- END writeEnvironmentReport: Useful properties found: -----
# YAHOO! Your environment seems to be OK.
------------------------------------------------------

I even removed all the apache stuff from rt.jar.
The next thing I looked at was my xml source file and the xsl file to make
sure there was no crazy infinite recursion happening, the xml file was just
over 4MB and looked something like this...

------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<USERBYPAGE xmlns:gmr="http://www.gnome.org/gnumeric/v7"
xmlns:sql="http://apache.org/cocoon/SQL/2.0"><CONTENT>

<ROW><COL>User Name</COL><COL>me</COL></ROW>
<ROW><COL>Page Id</COL><COL>test</COL></ROW>
<ROW><COL>Page Description</COL><COL>test</COL></ROW>
<ROW><COL>Silo Id</COL><COL>test</COL></ROW>
<ROW><COL>Silo Description</COL><COL>test</COL></ROW>
<ROW><COL>Product Id</COL><COL>test</COL></ROW>
<ROW><COL>Product Description</COL><COL>test</COL></ROW>
<ROW><COL>Total Hits</COL><COL>1318</COL></ROW>
<ROW><COL>Active Hits</COL><COL>9</COL></ROW>
<ROW><COL>Passive Hits</COL><COL>1309</COL></ROW>
<ROW><COL>01-15-2003
13:57:10.147</COL><COL>1042657026344</COL><COL>1</COL></ROW>
<ROW><COL>01-15-2003
13:57:10.279</COL><COL>1042657026344</COL><COL>1</COL></ROW>
<ROW><COL>01-15-2003
13:58:26.248</COL><COL>1042657026344</COL><COL>1</COL></ROW>
<ROW><COL>01-15-2003
13:58:26.481</COL><COL>1042657026344</COL><COL>1</COL></ROW>
<ROW><COL>01-15-2003
15:14:47.475</COL><COL>1042657026344</COL><COL>1</COL></ROW>
::
::
::
</CONTENT></USERBYPAGE>
------------------------------------------------------
and the xsl looked something like this :
------------------------------------------------------
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                              xmlns:sql="http://apache.org/cocoon/SQL/2.0"
                              xmlns:gmr="http://www.gnome.org/gnumeric/v7">

  <xsl:template match="/">
    <xsl:apply-templates/>
  </xsl:template>

  <xsl:template match="USERBYPAGE">
    <gmr:Workbook xmlns:gmr="http://www.gnome.org/gnumeric/v7">
      <gmr:Sheets>
        <gmr:Sheet DisplayFormulas="false"
                   HideZero="false"
                   HideGrid="false"
                   HideColHeader="false"
                   HideRowHeader="false"
                   DisplayOutlines="true"
                   OutlineSymbolsBelow="true"
                   OutlineSymbolsRight="true">
	  <gmr:Name>
            <xsl:value-of select="'User By Page'"/>
          </gmr:Name>
          <gmr:MaxCol>2</gmr:MaxCol>
	    <gmr:Cols DefaultSizePts="48">
            <gmr:ColInfo No="0" Unit="48" MarginA="2" MarginB="2"
Count="7"/>
          </gmr:Cols>
          <gmr:Rows DefaultSizePts="12.8">
            <gmr:RowInfo No="0" Unit="12.8" MarginA="0" MarginB="0"
Count="9"/>
            <gmr:RowInfo No="10" Unit="12.8" MarginA="1" MarginB="0"
Count="24"/>
          </gmr:Rows>
          <gmr:Cells>
            <xsl:apply-templates/>
          </gmr:Cells>
        </gmr:Sheet>
      </gmr:Sheets>
    </gmr:Workbook>
  </xsl:template>

  <xsl:template match="CONTENT">
    <xsl:apply-templates/>
  </xsl:template>

  <xsl:template match="ROW">
    <xsl:variable name="rownumber">
      <xsl:number level="any" from="CONTENT" count="ROW"/>
    </xsl:variable>
    <xsl:for-each select="COL">
      <xsl:apply-templates select=".">
        <xsl:with-param name="rownumber" select="$rownumber"/>
      </xsl:apply-templates>
    </xsl:for-each>
  </xsl:template>

  <xsl:template match="COL">
    <xsl:param name="rownumber">0</xsl:param>
    <xsl:variable name="colnumber">
      <xsl:number level="any" from="ROW" count="COL"/>
    </xsl:variable>
        <gmr:Cell Col="$colnumber" ValueType="60">
          <xsl:attribute name="Row">
            <xsl:value-of select="$rownumber"/>
          </xsl:attribute>
          <gmr:Content>
            <xsl:value-of select="."/>
          </gmr:Content>
        </gmr:Cell>
  </xsl:template>
</xsl:stylesheet>
------------------------------------------------------




Any help appreciated..

Thx.

Lee.


---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-users-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-users-help@xml.apache.org


Re: NoMoreDtmIdError wiki page

Posted by Bertrand Delacretaz <bd...@codeconsult.ch>.
Le Vendredi, 23 mai 2003, à 00:09 Europe/Zurich, Joerg Heinicke a écrit 
:

> Updated it, can somebody review it?

Thanks, I think what you've written at 
http://wiki.cocoondev.org/Wiki.jsp?page=NoMoreDtmIdError is very clear.
Should help reduce "DTM ids" traffic here ;-)

-Bertrand

---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-users-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-users-help@xml.apache.org


Re: NoMoreDtmIdError wiki page

Posted by Joerg Heinicke <jo...@gmx.de>.
Updated it, can somebody review it?

Joerg

Bertrand Delacretaz wrote:
> As this problem seems to come up fairly often here, I have created a FAQ 
> page about it on the wiki.
> 
> Problem is, I don't know the detailed answers myself ;-)
> 
> Joerg and others who have been answering this question, could you take a 
> look at
> 
>   http://wiki.cocoondev.org/Wiki.jsp?page=NoMoreDtmIdError
> 
> and complete it?
> 
> Thanks,
> Bertrand


---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-users-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-users-help@xml.apache.org


NoMoreDtmIdError wiki page (was: That ole "org.apache.xml.dtm.DTMException... )

Posted by Bertrand Delacretaz <bd...@codeconsult.ch>.
As this problem seems to come up fairly often here, I have created a 
FAQ page about it on the wiki.

Problem is, I don't know the detailed answers myself ;-)

Joerg and others who have been answering this question, could you take 
a look at

   http://wiki.cocoondev.org/Wiki.jsp?page=NoMoreDtmIdError

and complete it?

Thanks,
Bertrand


---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-users-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-users-help@xml.apache.org


Re: That ole "org.apache.xml.dtm.DTMException: No more DTM IDs are available" again...

Posted by Joerg Heinicke <jo...@gmx.de>.
Hello Lee,

it's really a bad message. We thought everything is ok with current 
Xalan releases :-(
 From the environment check output you surely have Xalan 2.5 and Xerces 
2.4 in use. But is it possible, that you have other versions of those 
packages in the classpath?

I don't have a solution for you, I only want to mention that the 
environment check can be done with a simple stylesheet 
(http://xml.apache.org/xalan-j/faq.html#environmentcheck) instead of 
modifying Java source files.

Joerg

Francis, Lee wrote:
> I am using cocoon with Xalan 2.5.0 and Xerces 2.4.0 to transform an xml
> source file into an excel doc. I have been getting the problem :
> ------------------------------------------------------
> org.apache.xml.dtm.DTMException: No more DTM IDs are available
> ------------------------------------------------------
> The xsl is very simple as is the xml doc, it works fine when transforming a
> small xml source doc but anything of size 2+ MB I get the no more dtm id's
> problem.
> 
> Having read through all the threads on how to resolve this issue I have
> tried all of the following.
> 
> make sure most recent version of Xalan 2.5 and Xerces 2.4 are being used, I
> even modified the CocoonServlet so it writes out it my environment..
> ------------------------------------------------------
> boolean environmentOK = (new EnvironmentCheck()).checkEnvironment (new
> PrintWriter(System.out));
> ------------------------------------------------------
> 
> The result was :
> ------------------------------------------------------
... environment check output shortened ...
> version.xerces2=Xerces-J 2.4.0
> version.xalan2_2=Xalan Java 2.5.0
> ------------------------------------------------------
> 
> I even removed all the apache stuff from rt.jar.
> The next thing I looked at was my xml source file and the xsl file to make
> sure there was no crazy infinite recursion happening, the xml file was just
> over 4MB and looked something like this...
> 
> ------------------------------------------------------
... xml snippet removed ...
> ------------------------------------------------------
> and the xsl looked something like this :
> ------------------------------------------------------
... xsl snippet removed ...
> ------------------------------------------------------
> 
> Any help appreciated..
> 
> Thx.
> 
> Lee.


---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-users-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-users-help@xml.apache.org