OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Recursive entity reference "%ISOamsa" error


Hi All,

After structuring a FrameMaker chapter in DocBook XML tags and saving
the file as XML, I attempted to apply a simple XSL stylesheet to the
XML document, which would simply copy all the nodes and attributes to
another document.

I'm encountering the error "Recursive entity reference "%ISOamsa."

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)


I think this error indicates that some math symbols aren't declared in
my DTD. I tried using the standard FrameMaker xdocbook DOCTYPE
declaration:


<!DOCTYPE NoName SYSTEM
"file:///C:/Program%20Files/Adobe/FrameMaker7.0/structure/xml/xdocbook/app/docbookx.dtd">


I also tried variations on the DocBook DOCTYPE public declaration. For example:

<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd";>
<!ENTITY % dbcent PUBLIC "-//OASIS//ENTITIES DocBook Character
Entities V4.2//EN" "dbcentx.mod"> %dbcent;


The error persists.


My XSL:

<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:copy>
                       <xsl:apply-templates select="@*"/>
                       <xsl:apply-templates/>
               </xsl:copy>
       </xsl:template>
</xsl:stylesheet>


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)

Has anyone on this list resolved this error, or can anyone think of
another reason for the error?

Thanks in advance.

Mark

--

Mark Peters
Senior Technical Writer
Saba Software


-- 

Mark Peters
Senior Technical Writer
Saba Software


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]