org.apache.xml.dtm.DTMException: No more DTM IDs are available

Apache's JIRA Issue Tracker | Praveen Kumar | 1 decade ago
tip
Click on the to mark the solution that helps you, Samebug will learn from it.
As a community member, you’ll be rewarded for you help.
  1. 0

    I am applying xsl transformation to a big xml file (100K nodes with 30 child nodes for each). I am using xalan-j 2.2.D13. I am getting No more DTM IDs. Any clue? Exception stack : org.apache.xml.dtm.DTMException: No more DTM IDs are available javax.xml.transform.TransformerException: org.apache.xml.dtm.DTMException: No more DTM IDs are available at org.apache.xalan.transformer.TransformerImpl.transform (TransformerImpl.java:690) at org.apache.xalan.transformer.TransformerImpl.transform (TransformerImpl.java:1092) at org.apache.xalan.transformer.TransformerImpl.transform (TransformerImpl.java:1070) at com.citigroup.issexp.xml.XSLTransformer.transform (XSLTransformer.java:146) at com.citigroup.issexp.feed.XMLFeedLoader.load(XMLFeedLoader.java:155) at com.citigroup.issexp.control.FeedLoadController.run (FeedLoadController.java:82) at java.lang.Thread.run(Thread.java:479) --------- org.apache.xml.dtm.DTMException: No more DTM IDs are available at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1094) at org.apache.xml.dtm.ref.DTMManagerDefault.getDTM (DTMManagerDefault.java:357) at org.apache.xalan.transformer.TransformerImpl.transform (TransformerImpl.java:634) at org.apache.xalan.transformer.TransformerImpl.transform (TransformerImpl.java:1092) at org.apache.xalan.transformer.TransformerImpl.transform (TransformerImpl.java:1070) at com.citigroup.issexp.xml.XSLTransformer.transform (XSLTransformer.java:146) at com.citigroup.issexp.feed.XMLFeedLoader.load(XMLFeedLoader.java:155) at com.citigroup.issexp.control.FeedLoadController.run (FeedLoadController.java:82) at java.lang.Thread.run(Thread.java:479) --------- org.apache.xml.dtm.DTMException: No more DTM IDs are available at org.apache.xml.dtm.ref.DTMDefaultBase.error(DTMDefaultBase.java:1962) at org.apache.xml.dtm.ref.sax2dtm.SAX2DTM.addNode(SAX2DTM.java:821) at org.apache.xml.dtm.ref.sax2dtm.SAX2DTM.startElement(SAX2DTM.java:1646) at org.apache.xerces.parsers.SAXParser.startElement(SAXParser.java:1376) at org.apache.xerces.validators.common.XMLValidator.callStartElement (XMLValidator.java:1214) at org.apache.xerces.framework.XMLDocumentScanner$ContentDispatcher.dispatch (XMLDocumentScanner.java:1171) at org.apache.xerces.framework.XMLDocumentScanner.parseSome (XMLDocumentScanner.java:381) at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1081) at org.apache.xml.dtm.ref.DTMManagerDefault.getDTM (DTMManagerDefault.java:357) at org.apache.xalan.transformer.TransformerImpl.transform (TransformerImpl.java:634) at org.apache.xalan.transformer.TransformerImpl.transform (TransformerImpl.java:1092) at org.apache.xalan.transformer.TransformerImpl.transform (TransformerImpl.java:1070) at com.citigroup.issexp.xml.XSLTransformer.transform (XSLTransformer.java:146) at com.citigroup.issexp.feed.XMLFeedLoader.load(XMLFeedLoader.java:155) at com.citigroup.issexp.control.FeedLoadController.run (FeedLoadController.java:82) at java.lang.Thread.run(Thread.java:479) [Tue Jun 11 10:27:07 EDT 2002] [DefaultEventHandler::characters=1] The root element is required in a well-formed document. org.xml.sax.SAXParseException: The root element is required in a well-formed document. at org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1196) at org.apache.xerces.framework.XMLDocumentScanner.reportFatalXMLError (XMLDocumentScanner.java:570) at org.apache.xerces.framework.XMLDocumentScanner$XMLDeclDispatcher.endOfInput (XMLDocumentScanner.java:790) at org.apache.xerces.framework.XMLDocumentScanner.endOfInput (XMLDocumentScanner.java:418) at org.apache.xerces.validators.common.XMLValidator.sendEndOfInputNotifications (XMLValidator.java:694) at org.apache.xerces.readers.DefaultEntityHandler.changeReaders (DefaultEntityHandler.java:1026) at org.apache.xerces.readers.XMLEntityReader.changeReaders (XMLEntityReader.java:168) at org.apache.xerces.readers.UTF8Reader.changeReaders(UTF8Reader.java:182) at org.apache.xerces.readers.UTF8Reader.lookingAtChar(UTF8Reader.java:197) at org.apache.xerces.framework.XMLDocumentScanner$XMLDeclDispatcher.dispatch (XMLDocumentScanner.java:686) at org.apache.xerces.framework.XMLDocumentScanner.parseSome (XMLDocumentScanner.java:381) at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1081) at com.citigroup.issexp.feed.DefaultXMLFeedReader.unmarshall (DefaultXMLFeedReader.java:69) at com.citigroup.issexp.feed.XMLFeedLoader.load(XMLFeedLoader.java:166) at com.citigroup.issexp.control.FeedLoadController.run (FeedLoadController.java:82)

    Apache's JIRA Issue Tracker | 1 decade ago | Praveen Kumar
    org.apache.xml.dtm.DTMException: No more DTM IDs are available

    Root Cause Analysis

    1. org.apache.xml.dtm.DTMException

      No more DTM IDs are available

      at org.apache.xerces.framework.XMLParser.parse()
    2. org.apache.xerces
      XMLParser.parse
      1. org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1094)
      1 frame
    3. Xalan Java
      TransformerImpl.transform
      1. org.apache.xml.dtm.ref.DTMManagerDefault.getDTM(DTMManagerDefault.java:357)
      2. org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:634)
      3. org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1092)
      4. org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1070)
      4 frames
    4. com.citigroup.issexp
      FeedLoadController.run
      1. com.citigroup.issexp.xml.XSLTransformer.transform(XSLTransformer.java:146)
      2. com.citigroup.issexp.feed.XMLFeedLoader.load(XMLFeedLoader.java:155)
      3. com.citigroup.issexp.control.FeedLoadController.run(FeedLoadController.java:82)
      3 frames
    5. Java RT
      Thread.run
      1. java.lang.Thread.run(Thread.java:479)
      1 frame