forrest-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Web Maestro Clay <>
Subject Re: Convert xdoc v10 to v20
Date Sun, 07 May 2006 06:09:52 GMT
On May 4, 2006, at 9:25 PM, David Crossley wrote:
> Do your original documents validate against their
> own version of the document-v10.dtd?

The problem was that the <code> element had a <br/> inside. I removed  
the <br/> and it worked again. BTW, I also noticed that <tt> is not  
valid, so I replaced them with <code> (which I think is sufficiently  

> BTW, i glanced at the differences between your version
> and Forrest's version of the document-v10 DTD and they
> seem identical (except now allow "figure" in "sections").

Thanks for checking.

> The main point about that is that Forrest can then use
> the powerful SourceTypeAction (content aware pipelines)
> where it responds to the Public Identifier and then
> Forrest knows how to transform each different document
> type.

Thanks for the link.

> However if you don't have valid input docs then
> i suppose that you might lose some info.
>               ---oOo---
> I can see another solution for you. That SourceTypeAction
> can also respond to the <document> element and other
> features of the input instances such as namespaces.
> It is really powerful.
> Forrest does not use the "document-element" detection,
> so you could use it.
> Go back to your original document type declarations
> using the System Identifier. This will enable Forrest
> to use your local copies of the DTDs at xdocs/dtd/*
> (Only necessary if the DTDs are too different.)
> In main/webapp/forrest.xmap add another match and
> transformer handler. Forrest will not detect your
> documents with its existing sourcetype matches
> and will fall through to your new catchall.
> Here is the diff (trimmed a little) against today's trunk:
> ===================================================================
> --- forrest.xmap        (revision 398540)
> +++ forrest.xmap        (working copy)
> @@ -96,6 +96,9 @@
>          <sourcetype name="howto-v20">
>            <document-declaration public-id="-//APACHE//DTD How-to  
> V2.0//EN" />
>          </sourcetype>
> +        <sourcetype name="document-v10-clay">
> +          <document-element local-name="document" />
> +        </sourcetype>
>        </map:action>
> @@ -122,6 +125,10 @@
>            <map:when test="document-v10">
>              <map:transform src="{lm:transform.docv10.docv11}" />
>            </map:when>
> +          <map:when test="document-v10-clay">
> +            <map:transform src="{lm:transform.docv10.docv11}" />
> +          </map:when>
> +
>            <map:when test="document-v20a">
>              <map:transform src="{lm:transform.docv20.docv12}" />
>            </map:when>
> ===================================================================
> That sourcetype name="document-v10-clay" gives you the
> ability to add additional transformers for particular
> elements that you might need transformed. Otherwise
> we could have just said sourcetype name="document-v10"
> and it would use the existing set of transformers shown
> just above yours.

I'll check into that.

> Why "transform.docv10.docv11"? No problem: docv11
> is essentially the same as docv13, some restrictions
> were relaxed and every element can have a @class attr.

Great! A good tip.

> Yes. How are they done in your source doc?
> Perhaps you will need to edit your source documents to
> have @id on each section rather than anchor.
> -David

I'll play around with it... BTW, I ended up getting it working by  
going back to the `forrest seed` as you suggested[1].

I still need to decide how I'm going to proceed (It is currently  
building with v10.dtd files). I suspect I'll see about getting it  
working with the 'generated' XML files (accessible by clicking the  
xml link in the upper right corner of each page).

I do have a couple of -FIXME items, but they're for pages that are  
missing on the LIVE site... supportedElements.html[2] and  




Thank you again for all of your help!

Web Maestro Clay

My religion is simple. My religion is kindness.
-- HH Dalai Lama of Tibet

View raw message