cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephen Rosman <step...@rosman.id.au>
Subject Re: <map:reader> can't find files with spaces in their names
Date Thu, 19 Aug 2010 04:32:46 GMT
> I guess you use svn list to know what contains your svn repository. (Please
> give us more details about this part)

You could use PROPFIND to get a listing of files in the repo.  I've
just got a checked out copy to look at at the moment though.

> Finally, you should find a way before using <ci:includexml>, so that you
> provide your server with data respecting web requirements/rules. There are
> several ways :

Yep and I've done the encoding of URLs for content that's going to be
parsed and transformed in xslt (fun!), which works but you don't pass
images (or pdfs or css) through a transformation pipeline.

> There are many ways to fix your problem and I haven't provide you with a
> exact fix, sorry. Whatever I wrote, I hope you understand that you have to
> provide your server with URL encoded URLs.

Yes I do understand that - that's why I said it in my original message :-)

> I mean the solution isn't in developing a reader, but more in using or developing
> a transformer to encode you URL or even in providing your system with URL
> encoded data since the beginning.

I did end up writing a <map:reader> called (rather stylishly, I think)
the AppendEncodedResourceReader which takes an "append" parameter
which is URL encoded and then appended to the src.

--
// lots of imports

public class AppendEncodedResourceReader extends ResourceReader {
    /**
     * Append a (URL+spaces) encoded string to the src
     */
    public void setup (SourceResolver resolver, Map objectModel,
String src, Parameters par)
    throws ProcessingException, SAXException, IOException {
        super.setup(
            resolver,
            objectModel,
            src + URLEncoder.
                encode(par.getParameter("append",""),"UTF-8").
                replaceAll("\\+","%20"),
            par);
    }
}

-- 
Stephen Rosman

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Mime
View raw message