Hi,
In the configure method of org.apache.cocoon.serialization.SVGSerializer there is a problem when mapping config parameters to transcoder hints:
When the parameter type is string, nothing is set. For example if you're using <parameter name="user_stylesheet_uri" type="string" value="svg.css"/> in the
configuration of a SVGSerializer, the corresponding batik
KEY_USER_STYLESHEET_URI is set to "" In configure():
String keyType = parameters[i].getAttribute("type", "STRING").toUpperCase(); if ("FLOAT".equals(keyType)) { // Can throw an exception. value = new Float(parameters[i].getAttributeAsFloat("value")); } else if {
...
} else { // Assume String, and get the value. Allow an empty string. value = parameters[i].getValue(""); }
I think it should be value = parameters[i].getAttribute("value") instead.
Actually, this is more an inconsistency than a real bug: when @type is "string" or when there's no type, the value is considered as being the _content_ of the element, and not the @value attribute, i.e.
<parameter name="foo" type="float" value="6.14"/> <parameter name="bar" type="string">bar-string-value</parameter>
Anyway, I fixed the inconsistency (2.1 CVS).
Thanks for reporting, Sylvain
-- Sylvain Wallez Anyware Technologies http://www.apache.org/~sylvain http://www.anyware-tech.com { XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects } Orixo, the opensource XML business alliance - http://www.orixo.com
