Hello Fraser,

Here are some explanations about the Transformer filter with a sample code.

        Application application = new Application(component.getContext()) {
            @Override
            public synchronized Restlet createRoot() {
                Router router = new Router(getContext());
                Representation xsltRepresentation = <your xslt
transformation as a StringRepresentation, or FileRepresentation,
etc.>;
                Transformer transformer = new
Transformer(Transformer.MODE_RESPONSE, xsltRepresentation);
                transformer.setNext(MyResource.class);
                router.attach("/", transformer);
                return router;
            }
        };

As a filter, the Transformer filter applies on hierarchy of Restlet or
on a Resource (specified by the setNext() method). According to its
mode, (Transformer.MODE_REQUEST, or  Transformer.MODE_RESPONSE), the
filter applies an XSLT transformation on representations (conveyed by
the request or by the response). In the sample code provided above,
all representations returned by MyResource will be transformed with
the xsltRepresentation. With the MODE_REQUEST, the transformation
applies on all representation conveyed by the request (a POST request
for example).
Having said that,  I'm not sure to understand clearly your problem.
Could you tell us where do you retrieve your XML representations from
the eXist database. In the RFQResource#HandleGet method?


best regards,
Thierry Boileau

On Feb 17, 2008 4:12 PM, Fraser Goffin <[EMAIL PROTECTED]> wrote:
> version : Restlet 1.1
>
> Hi,
>
> I am pretty new to Restlet, and, although I have been through the tutorial
> examples and searched this forum, I can't find an answer to my question, so
> perhaps one of you can help me.
>
> I am retrieving XML instances from an eXist database and before I hand them to
> the caller I want to transform the representation.
>
> I thought that I would need to use the Transformer (filter), but I can't quite
> figure out how to hook it up or what methods I should call, or how to pass it
> the XML source and stylesheet (I'm a relative Java novice too :-).
>
> To-date I have a working implementation which attaches a class which extends
> Resource for a couple of URL prototypes :-
>
> router.attach("/quotestore/rfq/{quoteref}", RFQResource.class);
> router.attach("/quotestore/rfq", RFQResource.class);
>
> and in RFQResource I implement handleGet/handlePost/... etc. This all works
> fine.
>
> So, can anyone provide me with a simple example of how to introduce my
> transformation into this implementation.
>
> Many Thanks
>
> Fraser.
>
>
>
>

Reply via email to