[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xml-cocoon-docs
Subject:    [WIKI-UPDATE] ModuleSource 3DCocoon2.1DevSetupWin2000%2C CocoonDocsDrafts XModuleSource HanJonTheus
From:       stevenn () outerthought ! org
Date:       2004-01-27 15:00:05
Message-ID: 200401271500.i0RF05O22248 () otsrv1 ! iic ! ugent ! be
[Download RAW message or body]

Page: http://wiki.cocoondev.org/Wiki.jsp?page=ModuleSource , version: 2 on Tue Jan 27 \
14:59:46 2004 by DanielFagerstrom

- {{module:<input-module>:<attribute-name>[#xpath]}}
+ {{{module:<input-module>:<attribute-name>[#xpath]}}}
? +                                                  +

- {{<map:generate type="file" src="module:request:inputStream"/>}}
+ {{{<map:generate type="file" src="module:request:inputStream"/>}}}
? +                                                                +

- {{<map:generate type="html" src="module:request-param:html-field"/>}}
+ {{{<map:generate type="html" src="module:request-param:html-field"/>}}}
? +                                                                     +

- {{module:raw-request-param:foo}}
+ {{{module:raw-request-param:foo}}}
? +                                +

- {{
+ {{{
?   +

- }}
+ }}}
?   +

- I didin't made the module source modifiable as I had no clear use cases for it, nor \
was it obvious to me in what form to save the input. ?      -

+ I didn't made the module source modifiable as I had no clear use cases for it, nor \
                was it obvious to me in what form to save the input.
- 
- AFAIK the new sources can cover all use cases for the mentioned components (as well \
                as doing plenty of new things):
- {{<map:generate type="file" src="module:request:inputStream"/>}}
+ {{{<map:generate type="file" src="module:request:inputStream"/>}}}
? +                                                                +

- {{<map:generate type="file" src="module:request-param:form-name"/>}}
+ {{{<map:generate type="file" src="module:request-param:form-name"/>}}}
? +                                                                    +

- {{upload://formField1}}
+ {{{upload://formField1}}}
? +                       +

- {{module:raw-request-param:formField1}}
+ {{{module:raw-request-param:formField1}}}
? +                                       +



Page: http://wiki.cocoondev.org/Wiki.jsp?page=3DCocoon2.1DevSetupWin2000%2C , \
version: 1 on Tue Jan 27 14:40:13 2004 by 193.110.190.156

New page created:
+ ????
+ 


Page: http://wiki.cocoondev.org/Wiki.jsp?page=CocoonDocsDrafts , version: 13 on Tue \
Jan 27 14:46:01 2004 by DanielFagerstrom

+ * [ModuleSource]
+ * [XModuleSource]


Page: http://wiki.cocoondev.org/Wiki.jsp?page=XModuleSource , version: 1 on Tue Jan \
27 15:11:22 2004 by DanielFagerstrom

New page created:
+ Read and write XML data (DOM and XMLizable) from input and output modules. Can \
replace the [[Read|Write]DOMSessionTransformers and should also be usfull in \
flowscripts together with processToStream. + 
+ ----
+ 
+ Read and writable source that are accessed with uri:s like:
+ 
+ {{{xmodule:[<input-module>|<output-module>]:<attribute-name>[#xpath]}}}
+ 
+ For reading the object that is found by applying the XPath (JXPath), on the \
attribute from the input-module, is supposed to be a DOM Document, a DOM Node or an \
XMLizable object, the object is serialized to SAX. + 
+ For writing the input is serialized into a DOM Document, this document is put in \
the attribute from the output-module if the XPath is empty. If the XPath not is \
empty, an input-module is used to find the attribute and JXPath is applied. + If the \
object that is found is a DOM tree, the input document is imported into it, otherwize \
it is just assigned into that position. + 
+ There is a delete fuction as well, that use removeAll(xpath) from JXPath.
+ 
+ !!Flow example
+ 
+ [http://marc.theaimsgroup.com/?l=xml-cocoon-dev&m=107279968120084&w=2]
+ 
+ !!Configuration
+ 
+ RequestAttributeOutputModule and SessionAttributeOutputModule as default prefix all \
attribute names with org.apache.cocoon.components.modules.output.OutputModule". + 
+ To make the samples for the xmodule source work this must be reconfigured to using \
attribute names without prefixes. This is done in the cocoon.xconf by puting an empty \
key-prefix" element: + 
+   <key-prefix/>
+ 
+ as child to the configurations of the output-modules "request-attr" and \
"session-attr". + 
+ To make writing with or without XPaths work in a decent way, there is supposed to \
be booth an input and an output module that are configured to have the same name and \
that gets and sets the same attribute. + 
+ !!Relation to [[Read|Write]SessionTransformers
+ 
+ For the [[Read|Write]DOMSessionTransformers as well as the \
[[Read|Write]DOMTransformers submitted in \
[http://nagoya.apache.org/bugzilla/show_bug.cgi?id=23921], I would guess that the \
read functionality can be replaced by using URIs like: + 
+ {{{xmodule:session-attr:field}}}
+ 
+ together with the [[C|X]IncludeTransformer or the FileGenerator. The write \
functionality can probably be replaced by using URIs on the same form together with \
the SourceWritingTransformer or doing the writing by using processToStream within \
flowscripts. + 
+ Writing to the xmodule stream is less efficient than using the \
WriteDOMSessionTransformer, as a serialize/reparse step is needed. This would be \
quite easy to fix, what we need is a convention for what interface a source that one \
can write SAX to should implement. I think that it would be most convinient to \
implement the XMLConsumer interface.  Then the SourceWritingTransformer can check if \
the source implements XMLConsumer and in that case redirect the input events to that \
instead. For use within flowscripts, processToSAX can be used.  + 
+ !!Future work
+ 
+ A nice enhancement would be to let the XModuleSource implement ContentHandler, then \
one would avoid the serialize/parse step in some cases. It could e.g. be used with \
processToSAX in flowscripts. + 


Page: http://wiki.cocoondev.org/Wiki.jsp?page=HanJonTheus , version: 1 on Tue Jan 27 \
14:10:02 2004 by HanJonTheus

New page created:
+ Hello i am student.
+ 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic