Alan Milligan <alan@balclutha.org> wrote:
I have some PT skins I'm using to generate XML responses and am getting some strange behaviour. I'm not sure if its because I misunderstand something, there are bugs, or the API could be made more useful.
I will focus this discussion around the following ZPT:
<?xml version="1.0" encoding="UTF-8"?> <repomd xmlns="http://linux.duke.edu/metadata/repo"> ~ <data type="other" tal:repeat="source here/objectValues" tal:attributes="type source/meta_type"> ~ <location href="" tal:attributes="href string:repodata/${source/id}"/> ~ <checksum type="sha" tal:content="source/checksum"/> ~ <timestamp tal:content="source/timestamp"/> ~ <open-checksum type="sha" tal:content="source/open_checksum"/> ~ </data> </repomd>
What is happening with this is that it's not doing any TAL rendering at all and just returning this 'raw' xml. However, if I customise my skin and assure the content-type is text/html, then it indeed renders this 'xml'.
I have experimented with the xmlns on this to no avail. Besides, it surely must be implicit in the choice of making this a FSPT, that I am anticipating TAL/METAL rendering, and that any non-(ME)TAL tags in the raw text are to be passed thru to the client...
ZPT will process tal instructions in XML templates only if the proper namespace is declared. You must have: xmlns:tal="http://xml.zope.org/namespaces/tal"
I am also concerned that the FSPT code has implicitly assumed that the content type is text/xml. While I'd prefer this to be the type, at this stage, this choice does not work ...
The <?xml start switches page template files to text/xml.
I would however have thought that in lieu of an explicit statement, any FSPT would be of type text/html...
This brings me to my other question: how do I set the content-type on an FSPT?? It would seem that content-type=xxx in the [default] section of the .metadata file is ignored.
Use: [default] content_type = text/foobar Florent -- Florent Guillaume, Nuxeo (Paris, France) CTO, Director of R&D +33 1 40 33 71 59 http://nuxeo.com fg@nuxeo.com