Den 22. aug. 2008 kl. 09.54 skrev Thorsten Scherler:

Actually a similar problem that you are trying to solve has been solved by David a while back. I remember because while updating I stumble over
the solution again.

Have a look in the main sitemap or the internal.xmap of the dispatcher.
There we use entities to make the serializer configurable. First we
define the entities file:
<!DOCTYPE map:sitemap [
<!ENTITY % symbols-project
 PUBLIC "-//Apache Forrest//ENTITIES Symbols Project v1.0//EN"
 "symbols-project-v10.ent">
 %symbols-project;
<!ENTITY % symbols-core
 PUBLIC "-//Apache Forrest//ENTITIES Symbols Core v1.0//EN"
 "symbols-core-v10.ent">
 %symbols-core;
]>
and later on we use it:
<map:serializer logger="sitemap.serializer.xhtml" mime-type="text/ html"
       name="xhtml" pool-grow="2" pool-max="64" pool-min="2"
       src="org.apache.cocoon.serialization.XMLSerializer">

<doctype-public>&serializer-xhtml-doctype-public;</doctype-public>

<doctype-system>&serializer-xhtml-doctype-system;</doctype-system>
       <encoding>&serializer-xhtml-encoding;</encoding>
       <indent>yes</indent>
       <omit-xml-declaration>yes</omit-xml-declaration>
     </map:serializer>

As you can see each project can provide a symbols-project-v10.ent which
can override the configuration.

By default we have e.g. for the dispatcher:
<!ENTITY serializer-xhtml-encoding "UTF-8">

I have now added the following to o.a.f.o.pdf/output.xmap:

<!DOCTYPE map:sitemap [
<!ENTITY % symbols-project
  PUBLIC "-//Apache Forrest//ENTITIES Symbols Project v1.0//EN"
  "symbols-project-v10.ent">
  %symbols-project;
]>
...
    <map:serializers default="fo2pdf">
<map:serializer name="fo2pdf" src="org.apache.cocoon.blocks.fop.FOPNGSerializer" mime- type="application/pdf">
        <user-config>&pdf-config-file;</user-config>
       </map:serializer>
    </map:serializers>

and in the file

$FORREST_HOME/main/webapp/resources/schema/entity/symbols-project- v10.ent

I added the following:

<!ENTITY pdf-config-file "">

(That is, the entity should resolve to the empty string by default).

But when I start up Forrest again, I get the following error:

CAUSE:
        The entity "pdf-config-file" was referenced, but not declared.

I then tried to copy the dummy symbols-project-v10.ent found in main/ webapp/ into the root of the pdf plugin, but that did not help.

I then tried to copy the real entity file into the root of the plugin, but I still got the same error.

Any ideas?

Best regards,
Sjur