Cédric,

Thank you very much for your help. I've changed dom-root-element according to your 
remark (have set it to "Elements"),
but it was also necessary to remove "xmlns:collection" namespace declaration to get it 
work. So I've modified stylesheet
element in my xsl like this:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
                              xmlns:collection="http://apache.org/cocoon/xmldb/1.0";
                              exclude-result-prefixes="collection">

Now "map:match" for writeDOMsession returns correct xml, however it seems that it is 
not stored in a session, because I
can't read it in "map:match" for readDOMsession. There is still no "designations" 
substring in cocoon's log's.
As a result of read request I get just the initial xml from generator's src without 
content which is proposed to be
stored in a session.
Pattern for reading is:

   <map:match pattern="get_lub2">
       <map:generate src="data/elems_1.xml"/>
       <map:transform type="readDOMsession">
           <map:parameter name="dom-name" value="designations"/>
           <map:parameter name="trigger-element" value="Elements"/>
           <map:parameter name="position" value="in"/>
       </map:transform>
       <map:serialize type="xml"/>
   </map:match>

where data/elems_1.xml (as well as a result of this match) is:

<?xml version="1.0" encoding="iso-8859-1"?>
<Elements/>

Why read/writeDOMsession don't work here?

In sitemap.log I can see ERROR messages "no session object". What does it mean? Should 
I create a session object myself?
If yes, how it is better to do?

DEBUG   (2002-03-21) 19:04.04:511   [sitemap.transformer.writeDOMsession] 
(/bdl/get_lub)
HttpProcessor[8080][4]/WriteDOMSessionTransformer: WriteSessionTransformer: setup
ERROR   (2002-03-21) 19:04.04:511   [sitemap.transformer.writeDOMsession] 
(/bdl/get_lub)
HttpProcessor[8080][4]/WriteDOMSessionTransformer: WriteSessionTransformer: no session 
object
DEBUG   (2002-03-21) 19:04.04:521   [sitemap.generator.file] (/bdl/get_lub) 
HttpProcessor[8080][4]/FileGenerator:
processing file xmldb:xindice://localhost:4080/db/data/somecollection/#//Some_Element
DEBUG   (2002-03-21) 19:04.04:521   [sitemap.generator.file] (/bdl/get_lub) 
HttpProcessor[8080][4]/FileGenerator: file
resolved to xmldb:xindice://localhost:4080/db/data/somecollection/
ERROR   (2002-03-21) 19:05.50:884   [sitemap.transformer.readDOMsession] 
(/bdl/get_lub2)
HttpProcessor[8080][4]/ReadDOMSessionTransformer: ReadSessionTransformer: no session 
object


Thank you for your help.
    Roman

Cédric Damioli wrote:

> hi,
>
> you don't use the writeDOMsession in a proper way :
> the "dom-name" represents the name of the DOM stored in session
> the "dom-root-element" does NOT represent the root node of the stored
> DOM (leading to something like : <dom><Elements>....</Elements></dom>) ,
> but the trigger element of the incoming SAX events which causes the
> Transformation to begin.
> In other words, you may try <map:parameter name="dom-root-element"
> value="Elements"/> and it may match your needs.
>
> KOZLOV Roman wrote:
>
> >Hello Christian,
> >
> >Thank you very much for response. I've not found any "designations" substring in
> >core.log. For the moment I've divided the match on two matches - one for read and
> >one for write (just for tests).
> >The match for write is:
> >
> > <map:match pattern="get_lub">
> >     <map:generate
> >src="xmldb:xindice://localhost:4080/db/data/somecollection/#//Some_Element"/>
> >     <map:transform src="stylesheets/render_query.xsl"/>
> >     <map:transform type="writeDOMsession">
> >         <map:parameter name="dom-name" value="designations"/>
> >         <map:parameter name="dom-root-element" value="dom"/>
> >     </map:transform>
> >     <map:serialize type="xml"/>
> > </map:match>
> >
> >For this match I get empty response.
> >What's the matter? If I comment writeDOMsession transformer then I get xml like
> >this:
> >
> > <?xml version="1.0" encoding="iso-8859-1" ?>
> > <Elements xmlns:collection="http://apache.org/cocoon/xmldb/1.0";>
> >  <Element id="ID_XXX">. . . </Element>
> >. . .
> > </Elements>
> >
> >However, when writeDOMsession transformer is used then response is empty and in
> >core.log I can see:
> >
> >HttpProcessor[8080][0]/XMLDBSource: Querying collection
> >xmldb:xindice://localhost:4080/db/data/somecollection/; query= //Some_Element
> >FATAL_E (2002-03-21) 16:54.20:649   [core.xslt-processor] (/bdl/get_lub)
> >HttpProcessor[8080][0]/TraxErrorHandler: Error in TraxTransformer:
> >javax.xml.transform.TransformerException: java.lang.NullPointerException
> >javax.xml.transform.TransformerException: java.lang.NullPointerException
> > at
> 
>>org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1230)
> >
> > at org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:3139)
> > at java.lang.Thread.run(Thread.java:484)
> >---------
> >java.lang.NullPointerException
> > at
> 
>>org.apache.cocoon.transformation.WriteDOMSessionTransformer.storePrefixMapping(WriteDOMSessionTransformer.java:183)
> >
> > at
> 
>>org.apache.cocoon.transformation.WriteDOMSessionTransformer.startPrefixMapping(WriteDOMSessionTransformer.java:120)
> >
> > at
> 
>>org.apache.xalan.transformer.ResultTreeHandler.startAndAddPrefixMappings(ResultTreeHandler.java:1107)
> >
> > at
> 
>>org.apache.xalan.transformer.ResultTreeHandler.flushPending(ResultTreeHandler.java:941)
> >
> > at
> 
>>org.apache.xalan.transformer.ResultTreeHandler.endElement(ResultTreeHandler.java:306)
> >
> > at
> >org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:716)
> > at
> 
>>org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2186)
> >
> > at
> 
>>org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2012)
> >
> > at
> 
>>org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1175)
> >
> > at org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:3139)
> > at java.lang.Thread.run(Thread.java:484)
> >
> >
> >    Looking forward to your help.
> >    Thank you in advance.
> >        Roman
> >
> >
> >Christian Haul wrote:
> >
> >>On 21.Mar.2002 -- 12:07 PM, KOZLOV Roman wrote:
> >>
> >>>processed, so that writeDOMsession is called always. Could you please
> >>>point to errors?
> >>>
> >>>   <map:match pattern="get_lub">
> >>>       <map:match type="sessionstate" pattern="**">
> >>>           <map:parameter name="attribute-name" value="designations"/>
> >>>           <map:transform type="readDOMsession">
> >>>               <map:parameter name="dom-name" value="designations"/>
> >>>               <map:parameter name="trigger-element" value="/"/>
> >>>               <map:parameter name="position" value="in"/>
> >>>           </map:transform>
> >>>           <map:serialize type="xml"/>
> >>>       </map:match>
> >>>
> >>>       <map:generate
> >>>src="xmldb:xindice://localhost:4080/db/data/somecollection/#//Some_Element"/>
> >>>
> >>>       <map:transform src="stylesheets/render_query.xsl"/>
> >>>       <map:transform type="writeDOMsession">
> >>>           <map:parameter name="dom-name" value="designations"/>
> >>>           <map:parameter name="dom-root-element" value="dom"/>
> >>>       </map:transform>
> >>>       <map:serialize type="xml"/>
> >>>   </map:match>
> >>>
> >>Roman,
> >>you seem to be missing a <map:generate/> in the upper
> >>pipeline. Anyway, could you check with core.log (?) that your session
> >>actually contains an attribute called "designations"?
> >>
> >>        Chris.
> >>
> >>--
> >>C h r i s t i a n       H a u l
> >>[EMAIL PROTECTED]
> >>    fingerprint: 99B0 1D9D 7919 644A 4837  7D73 FEF9 6856 335A 9E08
> >>
> >>---------------------------------------------------------------------
> >>Please check that your question has not already been answered in the
> >>FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>
> >>
> >>To unsubscribe, e-mail: <[EMAIL PROTECTED]>
> >>For additional commands, e-mail: <[EMAIL PROTECTED]>
> >>
> >>---------------------------------------------------------------------
> >>Please check that your question has not already been answered in the
> >>FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>
> >>
> >>To unsubscribe, e-mail: <[EMAIL PROTECTED]>
> >>For additional commands, e-mail: <[EMAIL PROTECTED]>
> >>
>
> ---------------------------------------------------------------------
> Please check that your question has not already been answered in the
> FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>
>
> To unsubscribe, e-mail: <[EMAIL PROTECTED]>
> For additional commands, e-mail: <[EMAIL PROTECTED]>


---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>

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

Reply via email to