Hi Paul,

You can avoid the OOM error by setting the JAXP secure processing feature 
[1] or a SecurityManager [2][3]. This puts a limit on the maxOccurs values 
in the schema. A fatal error is emitted if the limit is exceeded.

Thanks.

[1] 
http://xerces.apache.org/xerces2-j/javadocs/api/javax/xml/XMLConstants.html#FEATURE_SECURE_PROCESSING
[2] http://xerces.apache.org/xerces2-j/properties.html#security-manager
[3] 
http://xerces.apache.org/xerces2-j/javadocs/xerces2/org/apache/xerces/util/SecurityManager.html

Michael Glavassevich
XML Parser Development
IBM Toronto Lab
E-mail: [EMAIL PROTECTED]
E-mail: [EMAIL PROTECTED]

"Paul Tomsic" <[EMAIL PROTECTED]> wrote on 10/29/2006 11:10:17 PM:

> ah, of course.  great catch.  thank you.
> is there an obvious way to trap for this?
> 
> i'm working for a large organization that tends to have 1000's of ppl
> that could be the maker of the XSD.
> 
> short of me making an FAQ page of best-practices (which no one will
> read) can i programatically trap for this type of thing, as opposed to
> having minor issues like this occur, thus causing an OOM error?
> 
> thanks again
> 
> 
> On 10/29/06, Michael Glavassevich <[EMAIL PROTECTED]> wrote:
> > Hi Paul,
> >
> > This happens because you have maxOccurs="50000" on "
> > originDestinationPair". The larger the value of maxOccurs the more 
memory
> > Xerces requires to build the DFA representation of the content model. 
If
> > the value is sufficiently large you'll run out of memory. The 
workaround
> > for this limitation [1] has always been to change large maxOccurs 
values
> > to unbounded.
> >
> > Thanks.
> >
> > [1] http://xerces.apache.org/xerces2-j/xml-schema.html
> >
> > Michael Glavassevich
> > XML Parser Development
> > IBM Toronto Lab
> > E-mail: [EMAIL PROTECTED]
> > E-mail: [EMAIL PROTECTED]
> >
> > "Paul Tomsic" <[EMAIL PROTECTED]> wrote on 10/27/2006 05:42:36 PM:
> >
> > > I think i've found a bug in xerces 2.8.1.
> > > I've attached a tarball that reproduces the error.
> > > The error is "OutOfMemoryError: Java heap space"
> > >
> > > the situation is an XML file points to a XSD which contains several
> > > "included" XSDs.
> > > one of those XSD's has a mismatched targetNamespace.
> > >
> > > While stepping thru the code in a debugger, it does find the problem
> > > and record the correct SAXParseException, but it continues to 
traverse
> > > the tree of included XSDs, thus causing the heap space out of memory
> > > situation.
> > >
> > > hopefully it's something that i'm doing wrong, though.   any 
thoughts
> > helpful.
> > >
> > > To run the attached tarball, simply expand it, load up the "lib"
> > directory w/
> > > -xercesImpl 2.8.1
> > > -xml-apis 2.8.1
> > > -resolver - the version that ships w/ xerces 2.8.1
> > >
> > > then run the "run.sh" shell script.
> > >
> > > thanks
> > >
> > > 
---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to