Addi wrote:
Ross Gardler wrote:
Addi wrote:
Ross Gardler wrote:
Addi wrote:
...
In order to really make my pitch to my boss to use Forrest I need
to be able to use WordPerfect docs with it. WordPerfect does
publish to XML, but using the DocBook DTD, not Simplified DocBook.
First of all, have you tried just using the simplified-docbook
plugin? It will recognise the DTD and use the available stylesheets.
For a lrge number of docbook files this produces good results.
Yes, I did try the s-docbook plugin and I have s-docbook documents
rendering fine with it, but I get nothing when I use a docbook DTD.
I had peeked at the s-docbook plugin files and it *looked* like it
would do what I wanted since input.xmap had the docbook DTDs and the
xsl had book and chapter elements, so I tried that first but it
didn't give me anything when I built the site.
Verify that the documenttype output by WordPerfect is matched by the
simplified-docbook plugin. If the documenttype does not appear in the
list of recognised DTD's you will need to add it to the plugin. There
are a few examples in there already (see output.xmap)
Well then. I had checked it before but this time I copied it from
input.xmap and pasted and it worked. I went back to look more closely
and WP is missing one slash in the DTD. They have -//OASIS/DTD DocBook
XML V4.2//EN vs. -//OASIS*//*DTD DocBook XML V4.2//EN. I have a call in
to Corel asking them tell me how to hack WP to output the correct DTD.
If it cannot be done then provide a patch for the plugin with a note of
why it is needed and we'll apply it, I'm sure others may want to do thins.
Incidentally, I do have another solution, that is better still but needs
some work. In sort use OOo running in server mode to convert from
WordPerfect to OOo, then use the OOo plugin to get it into Forrest. This
woks great for MSOffice. Problem is only OOo2 supports word perfect (I
think) and our OOo plugin doesn;t support the new OpenDocument format.
Once I get the WP DTD sorted out, I will be golden but related to the
serializer issue, I added the serializer to my project sitemap using the
cocoon example. I am testing this separately from the DTD/plugin
solution above and now I am getting the page (yeah!) but in raw xhtml,
not skinned. Is this related to the 0.7 raw html discussion that has
been going on (that I didn't really follow)? I'm sorry that the whole
process isn't really clear to me at this point so I have difficulty
self-troubleshooting and I keep asking more questions everytime you answer.
That's no problem. Soon you'll know the answers and will answer other
users questions. We all start somewhere.
To skin the content you need to change the sitemap entry to to:
<?xml version="1.0"?>
<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
<map:pipelines>
<map:pipeline>
<map:match pattern="resolver-*.xml">
<map:generate src="{project:content.xdocs}resolver-{1}.xml"/>
<map:transform
src="file:///usr/share/sgml/docbook/xsl-stylesheets/xhtml/docbook.xsl"/>
<map:transform src="{forrest:stylesheets}/html2document.xsl" />
<map:serialize type="xml"/>
</map:match>
</map:pipeline>
</map:pipelines>
</map:sitemap>
The differences are that we are responding to a request for XML rather
than HTML now. Forrest makes a request for an xml document as part of
its resolving of HTML requests. That request will come here, we generate
XHTMl using the docbook stylesheets, then we convert that to XDoc then
the calling pipeline does the skinning.
There is a pretty good description of this process (from a differentuse
case) in
http://forrest.apache.org/0.7/docs/howto/howto-custom-html-source.html#Understanding%20the%20HTML-Pipeline
I *think* this will work but I've not tried it. Pleae let us know how
you get on, even if it doesn't work, I'll help you debug it because this
is something we have come across before now and have hoped to test out.
Ross