Hi,

I have this in some XSLT stylesheets:

        <!DOCTYPE html
        [
                <!ENTITY % HTMLlat1 PUBLIC
                         "-//W3C//ENTITIES Latin 1 for XHTML//EN"
                        "w3c/xhtml-lat1.ent">
                 %HTMLlat1;
                <!ENTITY % HTMLspecial PUBLIC
                        "-//W3C//ENTITIES Special for XHTML//EN"
                        "w3c/xhtml-special.ent">
                %HTMLspecial;
        ]>

...and this works fine for stylesheets where the TraxTransformer source is hardcoded in the sitemap. But I have one case where the stylesheet is served by a Cocoon pipeline like this:

<map:generate src="context:/config/fido/pub_templates/{flow-attribute:templatePath}"/ >
                <map:serialize type="xml" />

In this case Saxon throws a java.io.FileNotFoundException; it's looking for the referenced entities in the filesystem, relative to the parent directory of the stylesheet. I tried saying this in the DTD:

        context://WEB-INF/entities/catalog/w3c/xhtml-lat1.ent

...but Saxon didn't like that, it says "unknown protocol".

Any ideas how I can fix this?

I actually had this app working for a long time, but I either never noticed or had forgotten that I had been locating the entity like this:

        http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent

...and this was only exposed when a network problem cropped up on our server. I don't really want to be traipsing all over the net to get entities every time this stylesheet is parsed! :-/

Any help appreciated :-)
—ml—




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to