[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Recursive entity reference "%ISOamsa" error

Subject: Re: Recursive entity reference "%ISOamsa" error
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Thu, 13 Jul 2006 15:49:04 -0400
trademark xml entity

Does your XML document contain a DOCTYPE declaration with a SYSTEM or PUBLIC identifier?

This would refer to an external DTD subset, and your problem could be there.

It's certainly a problem in the declarations in some DTD somewhere.

Often these public entity sets include comments explaining how to invoke them. It could be that in the ISOamsa file being called in, the commenting markup has gotten lost somewhere, which would result in the entity trying to invoke itself.

Strictly speaking, this is a parsing problem not an XSLT problem. No XML parser should work on a file with declarations like that.


At 02:31 PM 7/13/2006, you wrote:
Hi All,

I'm encountering the error "Recursive entity reference "%ISOamsa" when
I apply a stylesheet to my XML file to simply copy all the nodes and
attributes to another document.

The complete error:

ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN//XML; Line #55;
Column #10; XSLT Error (javax.xml.transform.TransformerException): Recursive ent
ity reference "%ISOamsa". (Reference path: %ISOamsa -> %ISOamsa -> %ISOamsa),
Exception in thread "main" java.lang.RuntimeException: Recursive entity referenc
e "%ISOamsa". (Reference path: %ISOamsa -> %ISOamsa -> %ISOamsa),
at org.apache.xalan.xslt.Process.doExit(Process.java:1153)
at org.apache.xalan.xslt.Process.main(Process.java:1126)


<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" version="1.0"/>
<xsl:template match="node()|@*">
<xsl:apply-templates select="@*"/>

The information I found indicates that the replacement text for an entity cannot reference *another* entity:

"One word of warning: you cannot reference an entity within its
replacement text as this will create a recursive loop. For this
reason, the replacement string cannot contain any characters that
might be treated as short references which should be mapped to the
entity being defined."

However, my XML document (which is too large to paste here) doesn't
seem to include anything but simple entities. I don't have any
declared entities, and the only other character entities included are
as follows:

&trade (trademark)
&reg; (registered trademark)
&sol; (forward slash)
&ast; (asterisk)
&lowbar; (underscore)
&lt; (less than)
&gt; (greater than)
&boxv; (vertical line)
&mdash; (em-dash)
&lsquo; (left single quote)
&rsquo; (right single quote)
&ldquo; (left double quote)
&rdquo; (right double quote)
&equals (equals)

Can anyone think of another reason for the error?

Thanks in advance.

Current Thread


Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
First Name
Last Name
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.