hi,

I'm having some problems with a disappearing namespace
both seem related to when the xml is generated through a cocoon://something in the sitemap
Anyone else have had this problem, and perhaps know how to fix this?


The system that fails:
FreeBSD 4.10-STABLE
cocoon-2.1.5.1 running in Tomcat 4.1
xalan-2.6.0

On my laptop I dont have this problem. (winXP, Tomcat 5.0 or Jetty/4.2.19, Cocoon 2.1.5.1, xalan 2.6.0)

Here below are 2 seperate manifestations

1) I have a custom Transformer to create a FreeChart picture, (chart-jpeg serializer is JFCSerializer http://www.sidimar.ipzs.it/fins010/serializer-ref.html)

sitemap snippet :

<map:match pattern="**/enquete-report-chart-data/*">
<map:generate src="cocoon:/{1}/enquete-definition" />
<map:transform type="report">
<map:parameter name="question" value="{2}" />
</map:transform>
<map:serialize type="xml" />
</map:match>
<map:match pattern="**/enquete-report-chart/*">
<map:generate src="cocoon:/{1}/enquete-definition" />
<map:transform type="report">
<map:parameter name="question" value="{2}" />
</map:transform>
<map:serialize type="chart-jpeg" />
</map:match>


code snippet :

public class ReportTransformer extends AbstractDOMTransformer implements Composable {

   protected Document transform(Document doc) {
           this.getLogger().error(doc.getNamespaceURI());
//the line above returns null for the namespace

       Document newdoc = null;
       Connection connection = null;

       try {
           connection = datasource.getConnection();

Node qnode = XPathAPI.selectSingleNode(doc, "q:enquete/q:questions/q:[EMAIL PROTECTED] = '" + question + "']", doc);
// the line above gives the following error : Prefix must resolve to a namespace
...



2) In a custom generator which generates a cform selection-list xml
the resulting xml lacks the namespace definition.
I could work around this one by explicity adding the namespace attribute to the starting element


sitemap snippet :

           <map:match pattern="form/lookup/*">
               <map:generate type="lookup">
                   <map:parameter name="type" value="{1}" />
               </map:generate>
               <map:serialize type="xml" />
           </map:match>

code snippet :

public class LookupGenerator extends AbstractComposableGenerator {

private static final String NAMESPACE_URI_FORMDEFINITION = "http://apache.org/cocoon/forms/1.0#definition";;

public generate()
...


contentHandler.startDocument();
AttributesImpl attributes = new AttributesImpl();
//WORKAROUND: explicitly added namespace attribute
attributes.addAttribute(NAMESPACE_URI_FORMDEFINITION, "xmlns:fd", "xmlns:fd", "CDATA", NAMESPACE_URI_FORMDEFINITION);
// the following adds <fd:selection-list xmlns:fs="http://apache.org/cocoon/forms/1.0#definition";>
contentHandler.startElement(NAMESPACE_URI_FORMDEFINITION, "selection-list", "fd:selection-list", attributes);


...

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to