You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@lenya.apache.org by Victoria Vitaver <vi...@tt.com.au> on 2005/06/14 03:57:48 UTC
writing to file problem
Hi,
I am attempting to create a usecase which will give a user a form to
fill out, and save their response as an XML file. My problem is that
things 'seem' to work .. but it doesn't seem to save the file anywhere.
Is Lenya doing something dynamically that I am not aware of (or am I
simply doing something stupid :p)?
I'm not quite sure where the problem is(I know that form.getXML() does
give me what I need though), and am not sure where to ideally save files
under lenya (ie would /lenya/{publication-name}/{myFileFolder} be a
good place?)
Any hints to what I could be doing wrong would be greatly appreciated!
Thanks,
Vica
------------------------------------------------------------------
usecase-registration.xmap:
...
<map:pipeline>
<map:match pattern="*.continue">
<map:call continuation="{1}"/>
</map:match>
<map:match pattern="**/*.continue">
<map:call continuation="{2}"/>
</map:match>
<map:match pattern="registration-display-pipeline">
<map:generate src="forms/registration_template.xml"/>
<map:call resource="style-cms-page"/>
</map:match>
<map:match pattern="registration-success-pipeline.jx">
<map:generate type="jx" src="forms/registration_success_jx.xml"/>
<map:serialize/>
</map:match>
<map:match pattern="**">
<map:call function="registration">
<map:parameter name="documentURI" value="vica_data.xml"/>
</map:call>
</map:match>
</map:pipeline>
...
-----------------------
registration.js :
cocoon.load("resource://org/apache/cocoon/forms/flow/javascript/Form.js");
function registration()
{
var form = new Form("forms/registration.xml");
form.createBinding("binding/registration_bind.xml");
var documentURI =
"opt/lenya/jakarta-tomcat-5.0.28/webapps/lenya/lenya/pubs/demo/forms/vica_data.xml"
form.showForm("registration-display-pipeline");
saveToFile(form.getXML(), documentURI);
cocoon.sendPage("registration-success-pipeline.jx", form.getXML());
}
function saveToFile(text, uri)
{
var fileWriter;
try
{
fileWriter = new java.io.FileWriter(uri);
fileWriter.write(text);
fileWriter.close();
}
catch(e)
{
print("file not found");
}
}
----
http://devhost:8080/lenya/demo/authoring/index.html?lenya.usecase=registration
brings up the form
http://devhost:8080/lenya/demo/authoring/0c543f464d53377e262215401d2f786971696f2f.continue?lenya.usecase=registration
brings up the result
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@lenya.apache.org
For additional commands, e-mail: user-help@lenya.apache.org
Re: writing to file problem
Posted by Victoria Vitaver <vi...@tt.com.au>.
Gregor J. Rothfuss wrote:
>
> i suggest you add a couple
>
> cocoon.log.debug() to track down what it is doing. i would also suggest
> not to use a filewriter, but instead a source. this has the advantage
> that you can use the same code to write to the fs, a repository or any
> other location that is accessible via the source resolver:
Thank you for your response :)
Also, on the topic of debugging, is there any way to debug pipelines?
Ie I am currently getting a
'org.apache.cocoon.ProcessingException: Error executing pipeline.:
java.lang.NullPointerException'
.. but am not sure how to use the stack trace to determine which
pipeline exactly is the problem (I'm aggregating & redirecting and so
forth :p).
Do you just have to manually 'take away' bits of the pipeline until you
find the problem, or is there a better approach?
Thanks,
Vica
---------------------------------
http://devhost:8080/lenya/demo/live/index.html?lenya.usecase=search
full exception chain stacktrace:
org.apache.cocoon.ProcessingException: Error executing pipeline.:
java.lang.NullPointerException
at
org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.handleException(AbstractProcessingPipeline.java:940)
at
org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:281)
at
org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:483)
at
org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:120)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:102)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.ContainerNode.invoke(ContainerNode.java:31)
at
org.apache.cocoon.components.treeprocessor.sitemap.CallNode.invoke(CallNode.java:93)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46)
at
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:138)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:92)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:234)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:176)
at
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:243)
at
org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:117)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46)
at
org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke(ActTypeNode.java:138)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46)
at
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46)
at
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:138)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:92)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:234)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:176)
at
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:243)
at
org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:117)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46)
at
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:138)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:92)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:234)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:176)
at
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:243)
at
org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:117)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46)
at
org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke(ActTypeNode.java:138)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46)
at
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:138)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:92)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:234)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:176)
at
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:243)
at org.apache.cocoon.Cocoon.process(Cocoon.java:608)
at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1123)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.lang.NullPointerException
at
org.apache.cocoon.components.source.impl.SitemapSource.toSAX(SitemapSource.java:423)
at
org.apache.cocoon.components.source.SourceUtil.parse(SourceUtil.java:270)
at
org.apache.cocoon.sitemap.ContentAggregator.generate(ContentAggregator.java:125)
at
org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:269)
... 79 more
java.lang.NullPointerException
at
org.apache.cocoon.components.source.impl.SitemapSource.toSAX(SitemapSource.java:423)
at
org.apache.cocoon.components.source.SourceUtil.parse(SourceUtil.java:270)
at
org.apache.cocoon.sitemap.ContentAggregator.generate(ContentAggregator.java:125)
at
org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline.processXMLPipeline(AbstractCachingProcessingPipeline.java:269)
at
org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:483)
at
org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(SerializeNode.java:120)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.SelectNode.invoke(SelectNode.java:102)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.ContainerNode.invoke(ContainerNode.java:31)
at
org.apache.cocoon.components.treeprocessor.sitemap.CallNode.invoke(CallNode.java:93)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46)
at
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:138)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:92)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:234)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:176)
at
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:243)
at
org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:117)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46)
at
org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke(ActTypeNode.java:138)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46)
at
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46)
at
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:138)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:92)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:234)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:176)
at
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:243)
at
org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:117)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46)
at
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:138)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:92)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:234)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:176)
at
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:243)
at
org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:117)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46)
at
org.apache.cocoon.components.treeprocessor.sitemap.ActTypeNode.invoke(ActTypeNode.java:138)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:46)
at
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:130)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:138)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:92)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:234)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process(ConcreteTreeProcessor.java:176)
at
org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:243)
at org.apache.cocoon.Cocoon.process(Cocoon.java:608)
at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1123)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@lenya.apache.org
For additional commands, e-mail: user-help@lenya.apache.org
Re: Embed javascript in xsl: > problem
Posted by Renaud Richardet <re...@wyona.com>.
Manos,
Thanks for your response.
Emmanouil Batsis wrote:
> Renaud Richardet wrote:
>
>> My problem is that the > sign gets mixed-up as it passes through the
>> numerous xsl's (at least 4 of them)
>
>
>
> If the source XML has the character in the form of an entity (>)
> there should be no problem as that is exactly how the XSLTProcessor
> outputs it (if the output method is XML)
I forgot to say that I tried that. You are right: the XSLT processor
outputs it as entity. Unfortunately, the javascript doesn't work.
> 2) externalize the javascript in a .js file and put it under /ressources
>
>
> On the other hand, this is the preffered solution ;-)
Yes, that's what I might end up with, but a quickier solution would be
nice ;-)
Thanks,
Renaud
--
Renaud Richardet
Wyona Inc. - Open Source Content Management - Apache Lenya
renaud.richardet@wyona.com http://www.wyona.com
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@lenya.apache.org
For additional commands, e-mail: user-help@lenya.apache.org
Re: Embed javascript in xsl: > problem
Posted by Emmanouil Batsis <Em...@eurodyn.com>.
Renaud Richardet wrote:
> My problem is that the > sign gets mixed-up as it passes through the
> numerous xsl's (at least 4 of them)
If the source XML has the character in the form of an entity (>)
there should be no problem as that is exactly how the XSLTProcessor
outputs it (if the output method is XML)
> 2) externalize the javascript in a .js file and put it under /ressources
On the other hand, this is the preffered solution ;-)
Manos
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@lenya.apache.org
For additional commands, e-mail: user-help@lenya.apache.org
Embed javascript in xsl: > problem
Posted by Renaud Richardet <re...@gmail.com>.
Bonjour,
I'm trying to embed some javascript in
${mypub}/lenya/xslt/authoring/create.xsl
There is already some script, which works fine, but now I would like to
limit the length of the textareas.
This is my try:
function validLength(formField,fieldLabel, maxLength) {
if (formField.value.length > 3) {
alert('ohoh!');
formField.focus();
return false;
}
return true;
}
My problem is that the > sign gets mixed-up as it passes through the
numerous xsl's (at least 4 of them)
So far, I have 2 solutions, but they don't satisfy me:
1) <TEXTAREA onkeyup="this.value = this.value.slice(0, 20)"></TEXTAREA>
2) externalize the javascript in a .js file and put it under /ressources
Anybody faced this already and has a solution?
Thanks,
Renaud
--
Renaud Richardet
Wyona Inc. - Open Source Content Management - Apache Lenya
renaud.richardet@wyona.com http://www.wyona.com
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@lenya.apache.org
For additional commands, e-mail: user-help@lenya.apache.org
Re: writing to file problem
Posted by "Gregor J. Rothfuss" <gr...@apache.org>.
Victoria Vitaver wrote:
> I am attempting to create a usecase which will give a user a form to
> fill out, and save their response as an XML file. My problem is that
> things 'seem' to work .. but it doesn't seem to save the file anywhere.
> Is Lenya doing something dynamically that I am not aware of (or am I
> simply doing something stupid :p)?
> function saveToFile(text, uri)
> {
> var fileWriter;
> try
> {
> fileWriter = new java.io.FileWriter(uri);
> fileWriter.write(text);
> fileWriter.close();
> }
> catch(e)
> {
> print("file not found");
> }
> }
i suggest you add a couple
cocoon.log.debug() to track down what it is doing. i would also suggest
not to use a filewriter, but instead a source. this has the advantage
that you can use the same code to write to the fs, a repository or any
other location that is accessible via the source resolver:
function writeDoc(doc, pipeline) {
var resolver = null;
var source = null;
var output = null;
try {
resolver =
cocoon.getComponent(Packages.org.apache.excalibur.source.SourceResolver.ROLE);
source = resolver.resolveURI(doc);
if (source instanceof
Packages.org.apache.excalibur.source.ModifiableSource) {
output = source.getOutputStream();
cocoon.processPipelineTo(pipeline, {}, output);
output.close();
} else {
cocoon.log.error("Cannot write to " + doc + ": not a
modifiable source");
}
} catch (error) {
cocoon.log.error("Error getting output stream: " + error);
} finally {
if (source != null) resolver.release(source);
cocoon.releaseComponent(resolver);
if (output != null) {
try {
output.close();
} catch (error) {
cocoon.log.error("Error closing output stream: " + error);
}
}
}
alternatively, take a look at
http://svn.apache.org/viewcvs.cgi/*checkout*/lenya/trunk/src/webapp/lenya/usecases/edit-document.js?rev=178175
which does something very similar (albeit handing off the actual write
operation to a java class)
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@lenya.apache.org
For additional commands, e-mail: user-help@lenya.apache.org