[Catalyst] Can Catalyst-Plugin-AtomServer support nontext/xhtml content?
Jonathan Rockway
jon at jrock.us
Mon Sep 25 17:28:18 CEST 2006
XML::Atom is for Atom ("RSS") feeds. If you have non-Atom tags in your
XML, I think the feed server assumes it's some variant of XHTML instead.
What is the xmlns on the <div> tags?
Here's how you're "supposed" to use C::P::AtomServer:
http://search.cpan.org/~btrott/Catalyst-Plugin-AtomServer-0.04/lib/Catalyst/Plugin/AtomServer.pm#EXAMPLE
Also, Atom's mime type is application/atom+xml (not the others you
tried), so that might mean something.
But if your XML isn't Atom, I'm not sure why you're using
C::P::AtomServer. More information about what you're trying to achieve
would be appreciated. I see no problem with:
sub serve_xml : ... {
my ($self, $c, @args) = @_;
$c->response->content_type('application/xml')
$c->response->body( XMLOut( [hash to xml encode] );
}
if all you want to do is spew some XML to the client.
Regards,
Jonathan Rockway
John Napiorkowski wrote:
> Hi,
>
> I'm using the Catalyst-Plugin-AtomServer as a way to
> expose some xml encoded data but having trouble
> getting the plugin to accept a content type of 'xml'.
> I can do:
>
> use XML::Simple;
> my $content = XML::Atom::Content;
>
> $content->type('application/xml')
> $content->body( XMLOut( [hash to xml encode] );
>
> and then add the content object to the entry object
> but I still get output that wraps the XML in an xhtml
> div tag. The content type attribute does get set
> correctly though and I do get the xml content inside
> the content tags, just it has the extra div tag which
> messes up my clients on the other side. I've tried
> 'application/xml', 'xml', 'text/xml', etc. but none of
> these seem to work.
>
> Has anyone gotten this to work with this plugin or
> found a different way to accomplsih this task? Advice
> appreciated.
More information about the Catalyst
mailing list