You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-dev@xmlgraphics.apache.org by "Kutz Clemens (PEA-FE2/BA-T)" <Cl...@de.bosch.com> on 2002/07/29 09:04:39 UTC
any limitation to "generate-id()"
Hi FOP-Developers,
I'm using a xsl-stylesheet to convert a xml-file to pdf and have a serious
problem with the generate-id() - function.
Here's my XSL-Stylesheet:
<xsl:template match="TT">
<fo:wrapper id="{generate-id(.)}" xsl:use-attribute-sets="tt">
<xsl:apply-templates/>
</fo:wrapper>
</xsl:template>
I use the "id" attribute, because I want to append a list of all TT-Elements
to my pdf-file.
It worked for several files, but if I had tested it on an really large file
(800Kb; about 140 pages) I got the following message:
org.apache.fop.apps.FOPException: org.apache.fop.apps.FOPException: The id
"N402100" already exists in this document
at org.apache.fop.apps.CommandLineStarter.run(Unknown Source)
at org.apache.fop.apps.Fop.main(Unknown Source)
---------
java.lang.RuntimeException: org.apache.fop.apps.FOPException: The id
"N402100" already exists in this document
at
org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:3170)
at
org.apache.xalan.transformer.TransformerHandlerImpl.endDocument(TransformerH
andlerImpl.java:433)
at
org.apache.xerces.parsers.AbstractSAXParser.endDocument(AbstractSAXParser.ja
va:715)
at
org.apache.xerces.impl.XMLNamespaceBinder.endDocument(XMLNamespaceBinder.jav
a:704)
at
org.apache.xerces.impl.dtd.XMLDTDValidator.endDocument(XMLDTDValidator.java:
985)
at
org.apache.xerces.impl.XMLDocumentScannerImpl.endEntity(XMLDocumentScannerIm
pl.java:437)
at
org.apache.xerces.impl.XMLEntityManager.endEntity(XMLEntityManager.java:1159
)
at
org.apache.xerces.impl.XMLEntityManager$EntityScanner.load(XMLEntityManager.
java:3204)
at
org.apache.xerces.impl.XMLEntityManager$EntityScanner.skipSpaces(XMLEntityMa
nager.java:2861)
at
org.apache.xerces.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher.dispatc
h(XMLDocumentScannerImpl.java:987
)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocume
ntFragmentScannerImpl.java:333)
at
org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserCo
nfiguration.java:529)
at
org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserCo
nfiguration.java:585)
at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:147)
at
org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:114
8)
at
org.apache.xalan.transformer.TrAXFilter.parse(TrAXFilter.java:134)
at org.apache.fop.apps.Driver.render(Unknown Source)
at org.apache.fop.apps.CommandLineStarter.run(Unknown Source)
at org.apache.fop.apps.Fop.main(Unknown Source)
---------
java.lang.RuntimeException: org.apache.fop.apps.FOPException: The id
"N402100" already exists in this document
at
org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:3170)
at
org.apache.xalan.transformer.TransformerHandlerImpl.endDocument(TransformerH
andlerImpl.java:433)
at
org.apache.xerces.parsers.AbstractSAXParser.endDocument(AbstractSAXParser.ja
va:715)
at
org.apache.xerces.impl.XMLNamespaceBinder.endDocument(XMLNamespaceBinder.jav
a:704)
at
org.apache.xerces.impl.dtd.XMLDTDValidator.endDocument(XMLDTDValidator.java:
985)
at
org.apache.xerces.impl.XMLDocumentScannerImpl.endEntity(XMLDocumentScannerIm
pl.java:437)
at
org.apache.xerces.impl.XMLEntityManager.endEntity(XMLEntityManager.java:1159
)
at
org.apache.xerces.impl.XMLEntityManager$EntityScanner.load(XMLEntityManager.
java:3204)
at
org.apache.xerces.impl.XMLEntityManager$EntityScanner.skipSpaces(XMLEntityMa
nager.java:2861)
at
org.apache.xerces.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher.dispatc
h(XMLDocumentScannerImpl.java:987
)
at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocume
ntFragmentScannerImpl.java:333)
at
org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserCo
nfiguration.java:529)
at
org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardParserCo
nfiguration.java:585)
at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:147)
at
org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:114
8)
at
org.apache.xalan.transformer.TrAXFilter.parse(TrAXFilter.java:134)
at org.apache.fop.apps.Driver.render(Unknown Source)
at org.apache.fop.apps.CommandLineStarter.run(Unknown Source)
at org.apache.fop.apps.Fop.main(Unknown Source)
I had some ideas, where it could come from:
1.) not well-formed xml-file
2.) maybe I used generate-id() two times for the same element
but I can exclude both. The first because I checked my document several
times. The second because my stylesheet worked very well with smaller files
and a lot of TT elements inside.
So does anybody know, if the "generate-id()" function has ANY limitation.
For everybody who is not very familiar with the fop-inside, but very
familiar with java I tried to find the source for "generate-id()". I'm
really not sure, but I assume it's in the following file:
file:src\org\apache\xalan\xsltc\compiler\util\MethodGenerator.java
public class MethodGenerator extends MethodGen
implements org.apache.xalan.xsltc.compiler.Constants {
...
public int getLocalIndex(String name){
return getLocalVariable(name).getIndex();
}
public LocalVariableGen getLocalVariable(String name){
final LocalVariableGen[] vars = getLocalVariables();
for (int i = 0; i < vars.length; i++)
if (vars[i].getName().equals(name))
return vars[i];
return null;
}
...
}
Comments?
Clemens Kutz
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-dev-unsubscribe@xml.apache.org
For additional commands, email: fop-dev-help@xml.apache.org
Re: any limitation to "generate-id()"
Posted by Oleg Tkachenko <ol...@multiconn.com>.
Kutz Clemens (PEA-FE2/BA-T) wrote:
> I'm using a xsl-stylesheet to convert a xml-file to pdf and have a serious
> problem with the generate-id() - function.
>
> Here's my XSL-Stylesheet:
>
> <xsl:template match="TT">
> <fo:wrapper id="{generate-id(.)}" xsl:use-attribute-sets="tt">
> <xsl:apply-templates/>
> </fo:wrapper>
> </xsl:template>
>
Chances are it has something to do with
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3497.
--
Oleg Tkachenko
Multiconn International, Israel
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-dev-unsubscribe@xml.apache.org
For additional commands, email: fop-dev-help@xml.apache.org