The code below is part of a seperate serialiizer class that extands
HTMLSerializer and implements SitemapModelComponent.
It's configered in the sitemap as shown.
<map:serializer name="xhtml-flexible" logger="sitemap.serializer.xhtml"
mime-type="application/xhtml+xml; charset=utf-8"
pool-grow="2" pool-max="64" pool-min="2"
src="ch.example.cocoon.serializer.DynamicSerializer">
<indent>yes</indent>
<doctype-public>-//W3C//DTD XHTML 1.1//EN</doctype-public>
<doctype-system>http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd</doctype-system>
<encoding>UTF-8</encoding>
</map:serializer>
Regards,
Alec
On 15/11/10 17:09, Martin Holmes wrote:
> Hi there,
>
> Where exactly did you put this code? Did you implement your serializer
> as a separate class file, or have you modified the core Cocoon code?
>
> (I have no experience of customizing Cocoon itself, although I've
> written the odd class to implement custom sorting collations and to add
> functionality to XQuery code.)
>
> Cheers,
> Martin
>
> On 10-11-15 01:08 AM, Alec Bickerton wrote:
>> Hi,
>>
>> Just to throw in my 0.02c. At my current workplace we solved this
>> issue by implementing both a dynamic XML Serializer
>> and an HTML Serializer. We found that reconfiguring a the serializer
>> for each use while risky does work.
>>
>> Caveat: While this approach has been tested under light load. I cannot
>> say how it'll behave under heavy load, we're
>> still checking. YMMV.
>>
>>> public void setup(SourceResolver resolver, Map objectModel,
>>> String src, Parameters par) {
>>> String configxml = "";
>>> String[] parameterNames = par.getNames();
>>> for (int i = 0; i< parameterNames.length; i++) {
>>> String paramName = parameterNames[i];
>>> String paramValue = par.getParameter(paramName, null);
>>> if (!paramName.isEmpty()&& paramValue != null)
>>> configxml += "<" + paramName +">" + paramValue +"</"
>>> + paramName + ">";
>>> }
>>> if (configxml.length()> 0) {
>>> configxml = "<settings>" + configxml +"</settings>"; //
>>> put settings around to make an 'xml'
>>> try {
>>> DefaultConfigurationBuilder confBuilder = new
>>> DefaultConfigurationBuilder();
>>> ByteArrayInputStream stream = new
>>> ByteArrayInputStream(configxml.getBytes());
>>> Configuration conf = confBuilder.build(stream);
>>> /****
>>> * all these values are supported - see
>>> AbstractTextSerializer cdata-section-elements doctype-public
>>> * doctype-system encoding indent media-type method
>>> omit-xml-declaration standalone version
>>> ***************************************/
>>> super.configure(conf);
>>> } catch (ConfigurationException e) {
>>> log.error("ConfigurationException: " +
>>> e.getLocalizedMessage(), e);
>>> } catch (SAXException e) {
>>> log.error("SAXException: " + e.getLocalizedMessage(),
>>> e);
>>> } catch (IOException e) {
>>> log.error("IOException: " + e.getLocalizedMessage(), e);
>>> }
>>> }
>>> }
>>
>>
>> On 15/11/10 05:31, Jos Snellings wrote:
>>> Hi Martin,
>>>
>>> Do not know details, but it might help if you use the xsl:output element
>>> in your transformation.
>>> There is hope that it would not be overridden by the serializer.
>>>
>>> <xsl:output
>>> method="xml|html|text|name"
>>> version="string"
>>> encoding="string"
>>> omit-xml-declaration="yes|no"
>>> standalone="yes|no"
>>> doctype-public="string"
>>> doctype-system="string"
>>> cdata-section-elements="namelist"
>>> indent="yes|no"
>>> media-type="string"/>
>>>
>>> Cheers,
>>> Jos
>>>
>>>
>>> On 11/12/2010 05:17 PM, Martin Holmes wrote:
>>>> Hi there,
>>>>
>>>> Does anyone know how to configure a serializer for Cocoon 2.1 that
>>>> will output an HTML5 document? That means a minimal doctype that looks
>>>> like this:
>>>>
>>>> <!DOCTYPE html>
>>>>
>>>> served as text/html.
>>>>
>>>> Cheers,
>>>> Ma
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]