i18n trouble with nested elements in catalog messages
Hello all, Does anybody know if the i18n transformer supports nested elements within the catalog messages? I examined the tranformer's source code (Cocoon 2.1), but it is not obvious to me. If not, would it be possible and make sense to enable support for nested elements with attributes and namespaces? Or would it not be desirable? I would like to have short structured text messages (XML fragments) within the catalog, rather that just plain text messages (character strings). Let me give an example. I'd like to translate the following i18n:text element: index.xml ... i18n:text21/i18n:text ... with the following message: messages_en.xml: catalogue xml:lang=en xmlns:d=urn:petit-atelier.ch:docmini:v1.1 xmlns:xlink=http://www.w3.org/1999/xlink; message key=21 d:p ...d:email href=[EMAIL PROTECTED]/... /d:p d:p.../d:p /message /catalogue I tried with the following sitemap: sitemap.xmap: map:match pattern=*/events/index.html map:generate src=cocoon:/events/index.xml map:transform type=i18n map:parameter name=locale value={1}/ /map:transform map:serialize type=xhtml/ /map:match and almost succeeded. When I serialized immediately after the i18n transformation, it worked well, seemingly at least*: the output contained the d:p ...d:email href=[EMAIL PROTECTED]/... /d:p d:p.../d:p structured text. But when I added some XSLT transformation or any other transformation, I ran into trouble. The following generates a NPE (Cocoon 2.1/Tomcat 4.1.27/JDK 1.4.1_02/win2k): sitemap.xmap: ... map:transform type=i18n map:parameter name=locale value={1}/ /map:transform map:transform type=xslt src=docmini-to-xhtml.xsl/ map:serialize type=xhtml/ /map:match (The docmini-to-xhtml transformation runs fine on the Xalan command-line with the serialised output of the previous pipeline). This happens with any transformer (xsl, linkrewriter, log, ...). Is this happening because the i18n transformer is not intended to support nested elements? * A closer inspection with the Log transformer gave me the feeling that the SAX flow was compromised (uri=*null*,local=*null*,qname=href,type=CDATA,value=mailto:[EMAIL PROTECTED]) Olivier - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: i18n trouble with nested elements in catalog messages
Not sure if this is an i18n transformer issue, but it is worth to take a look at the MirrorRecorder class (in transformation/helpers). Probably, it simply doesn't record the uri and the local name when parsing a translation. It should be quite easy to add support for it. I'll take a look at it if I have time. -- Konstantin From: Olivier Lange [EMAIL PROTECTED] Hello all, Does anybody know if the i18n transformer supports nested elements within the catalog messages? I examined the tranformer's source code (Cocoon 2.1), but it is not obvious to me. If not, would it be possible and make sense to enable support for nested elements with attributes and namespaces? Or would it not be desirable? I would like to have short structured text messages (XML fragments) within the catalog, rather that just plain text messages (character strings). Let me give an example. I'd like to translate the following i18n:text element: index.xml ... i18n:text21/i18n:text ... with the following message: messages_en.xml: catalogue xml:lang=en xmlns:d=urn:petit-atelier.ch:docmini:v1.1 xmlns:xlink=http://www.w3.org/1999/xlink; message key=21 d:p ...d:email href=[EMAIL PROTECTED]/... /d:p d:p.../d:p /message /catalogue I tried with the following sitemap: sitemap.xmap: map:match pattern=*/events/index.html map:generate src=cocoon:/events/index.xml map:transform type=i18n map:parameter name=locale value={1}/ /map:transform map:serialize type=xhtml/ /map:match and almost succeeded. When I serialized immediately after the i18n transformation, it worked well, seemingly at least*: the output contained the d:p ...d:email href=[EMAIL PROTECTED]/... /d:p d:p.../d:p structured text. But when I added some XSLT transformation or any other transformation, I ran into trouble. The following generates a NPE (Cocoon 2.1/Tomcat 4.1.27/JDK 1.4.1_02/win2k): sitemap.xmap: ... map:transform type=i18n map:parameter name=locale value={1}/ /map:transform map:transform type=xslt src=docmini-to-xhtml.xsl/ map:serialize type=xhtml/ /map:match (The docmini-to-xhtml transformation runs fine on the Xalan command-line with the serialised output of the previous pipeline). This happens with any transformer (xsl, linkrewriter, log, ...). Is this happening because the i18n transformer is not intended to support nested elements? * A closer inspection with the Log transformer gave me the feeling that the SAX flow was compromised (uri=*null*,local=*null*,qname=href,type=CDATA,value=mailto:[EMAIL PROTECTED]) Olivier - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Eine Nachricht von Bastian Breithaupt
Bastian Breithaupt wrote: Dies ist ein Service von WEB.DE (http://freemail.web.de). Ihre Daten werden ausschliesslich im Adressbuch von *Bastian Breithaupt* gespeichert und Dritten selbstverständlich nicht zugänglich gemacht. This user has been unsubscribed. /Steven -- Steven Noelshttp://outerthought.org/ Outerthought - Open Source Java XMLAn Orixo Member Read my weblog athttp://blogs.cocoondev.org/stevenn/ stevenn at outerthought.orgstevenn at apache.org - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: 2 questions about sendmail logicsheet/block
On 09.Sep.2003 -- 03:48 AM, Tomasz Nowak wrote: Hello, I wonder: 1. How can I smtp-authorize at given sendmail:smtphost ? Is that feature implemented somewhere or shall I go to dev@ and ask developers to implement such function? javamail supports this to some extend. However, neither the logic sheet nor the helper class provide access to this feature. 2. How can I control Content-Transfer-Encoding header? I have no idea why it sometimes goes as quoted-printable and sometimes base64.. Is there any possibility to set it to 8bit manually? I guess this is determined by the presence of attachments and the presence of characters from specific charsets. Setting the character set might affect this, too. Other than that, there is no support for this. As always, patches are welcome :-) 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 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Eine Nachricht von Bastian Breithaupt
You don't need to. The mail we received from him is sent by web.de (a German mail provider) if you add an address to your contacts (here the Cocoon list) and if you don't deactivate a checkbox: It's a service of web.de, where the added person can add personal details like address or phone numbers to the adding person's address book. I hope this was not to irritating now :-) In conclusion he was only inattentive. Joerg Steven Noels wrote: Bastian Breithaupt wrote: Dies ist ein Service von WEB.DE (http://freemail.web.de). Ihre Daten werden ausschliesslich im Adressbuch von *Bastian Breithaupt* gespeichert und Dritten selbstverständlich nicht zugänglich gemacht. This user has been unsubscribed. /Steven - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Eine Nachricht von Bastian Breithaupt
Joerg Heinicke wrote: You don't need to. The mail we received from him is sent by web.de (a German mail provider) if you add an address to your contacts (here the Cocoon list) and if you don't deactivate a checkbox: It's a service of web.de, where the added person can add personal details like address or phone numbers to the adding person's address book. I hope this was not to irritating now :-) In conclusion he was only inattentive. Oops - seems like my German is even worse than I thought. Anyway, he'll resubscribe eventually. Sorry about this, /Steven -- Steven Noelshttp://outerthought.org/ Outerthought - Open Source Java XMLAn Orixo Member Read my weblog athttp://blogs.cocoondev.org/stevenn/ stevenn at outerthought.orgstevenn at apache.org - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
aggregate trouble on files after update to 2.1.1
I just updated my Cocoon from 2.0.4 to 2.1.1. It runs perfectly well and fast, but suddenly my map:aggregate pipelines that generate directly from XML-files are broken. Other, that gather their data via cocoon:-protocol still work. File-based aggregation only works with one single file (doesn't make any sense), but not with a second one. But both tested files worked alone in the same pipeline. Any hints? Alexander -- _ Alexander Czernay IT-Consulting Media Development fon +49-40-41096742 fax +49-40-41096743 icq 4773650 [EMAIL PROTECTED] www.czernay.com _ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
v2.1 Mac OS X installation does not work
Hello, I have been trying to install Cocoon 2.1.1 on a Mac OS X with the following installed: Mac OS X 10.2.6 (Java 1.4.1_01) - problems were also present with Java 1.4.1 Tomcat 4.1.27 Ant 1.5.4 I have tried to set JAVA_HOME to /usr and /System/Library/Frameworks/JavaVM.framework/Home I ahve copied cocoon-2.1.1/lib/endorsed/* to $TOMCAT_HOME/common/endorsed When I run ./build.sh it produced the following output ending with a 'build failed'. I have no idea how to fix this, please help. Not sure why the output reports Ant 1.5.3 instead of 1.5.4 which is the only version I ever installed. Any help is graeatly appreciated, TIA, Michel Benevento - Apache Cocoon Build System -- Buildfile: build.xml prepare: +---+ Apache Cocoon 2.1.1 [1999-2003] +---+ Building with Apache Ant version 1.5.3 compiled on April 16 2003 using build file /usr/local/cocoon-2.1.1/build.xml Compiling with debug on, optimize on, deprecation off +| W A R N I N G |--+ This build is targeted for use with JVM 1.4 Using this build on a virtual machine other than the one it is targeted for may result in runtime errors. +---+ Created dir: /usr/local/cocoon-2.1.1/build/cocoon-2.1.1 compile-core: Copying 60 files to /usr/local/cocoon-2.1.1/build/cocoon-2.1.1/classes Copied 27 empty directories to /usr/local/cocoon-2.1.1/build/cocoon-2.1.1/classes Created dir: /usr/local/cocoon-2.1.1/build/cocoon-2.1.1/mocks Compiling 1 source file to /usr/local/cocoon-2.1.1/build/cocoon-2.1.1/mocks Compiling 523 source files to /usr/local/cocoon-2.1.1/build/cocoon-2.1.1/classes /usr/local/cocoon-2.1.1/src/java/org/apache/cocoon/components/flow/ javascript/fom/FOM_Cocoon.java:93: cannot resolve symbol symbol : class FOM_JavaScriptInterpreter location: class org.apache.cocoon.components.flow.javascript.fom.FOM_Cocoon private FOM_JavaScriptInterpreter interpreter; ^ /usr/local/cocoon-2.1.1/src/java/org/apache/cocoon/components/flow/ javascript/fom/FOM_Cocoon.java:124: cannot resolve symbol symbol : class FOM_JavaScriptInterpreter location: class org.apache.cocoon.components.flow.javascript.fom.FOM_Cocoon void setup(FOM_JavaScriptInterpreter interp, ^ /usr/local/cocoon-2.1.1/src/java/org/apache/cocoon/components/language/ programming/java/Javac.java:72: cannot resolve symbol symbol : class AbstractJavaCompiler location: class org.apache.cocoon.components.language.programming.java.Javac public class Javac extends AbstractJavaCompiler { SNIP (lots of similar error msgs) ^ /usr/local/cocoon-2.1.1/src/java/org/apache/cocoon/components/pipeline/ impl/CachingProcessingPipeline.java:142: cannot resolve symbol symbol : variable super location: class org.apache.cocoon.components.pipeline.impl.CachingProcessingPipeline next = super.lastConsumer; ^ /usr/local/cocoon-2.1.1/src/java/org/apache/cocoon/components/pipeline/ impl/CachingProcessingPipeline.java:147: cannot resolve symbol symbol : method connect (org.apache.cocoon.environment.Environment,org.apache.cocoon.xml.XMLProd ucer,org.apache.cocoon.xml.XMLConsumer) location: class org.apache.cocoon.components.pipeline.impl.CachingProcessingPipeline this.connect(environment, prev, next); ^ 100 errors BUILD FAILED file:/usr/local/cocoon-2.1.1/src/targets/compile-build.xml:39: Compile failed; see the compiler error output for details. Total time: 39 seconds - - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Portal: HELP NEEDED!
Is there another thing to do to change this? Maybe there something like a cache? iirc, there is a profile cache, you can clear this cache in the portal administration You also need to add the new coplet to the global or other profile (e.g. using the portal administration tools) Matthew - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: v2.1 Mac OS X installation does not work
Martin, Can you please give me an detailed explanation of exactly what you have installed and how you installed it (i am especially unsure about my Ant configuration). I am sure I have all the right downloads, by the way. Thanks, Michel On Tuesday, September 9, 2003, at 12:28 PM, Martin Dulisch wrote: Hi Michel, I yesterday downloaded Cocoon 2.1.1. Build worked out of the box with OS X. Have you downloaded the unix version of the distribution? I am using the included Jetty. And it works. JAVA_HOME is set to /System/Library/Frameworks/JavaVM.framework/Home Martin Michel Benevento wrote: Hello, I have been trying to install Cocoon 2.1.1 on a Mac OS X with the following installed: Mac OS X 10.2.6 (Java 1.4.1_01) - problems were also present with Java 1.4.1 Tomcat 4.1.27 Ant 1.5.4 I have tried to set JAVA_HOME to /usr and /System/Library/Frameworks/JavaVM.framework/Home I ahve copied cocoon-2.1.1/lib/endorsed/* to $TOMCAT_HOME/common/endorsed When I run ./build.sh it produced the following output ending with a 'build failed'. I have no idea how to fix this, please help. Not sure why the output reports Ant 1.5.3 instead of 1.5.4 which is the only version I ever installed. Any help is graeatly appreciated, TIA, Michel Benevento - Apache Cocoon Build System -- Buildfile: build.xml prepare: +---+ Apache Cocoon 2.1.1 [1999-2003] +---+ Building with Apache Ant version 1.5.3 compiled on April 16 2003 using build file /usr/local/cocoon-2.1.1/build.xml Compiling with debug on, optimize on, deprecation off +| W A R N I N G |--+ This build is targeted for use with JVM 1.4 Using this build on a virtual machine other than the one it is targeted for may result in runtime errors. +---+ Created dir: /usr/local/cocoon-2.1.1/build/cocoon-2.1.1 compile-core: Copying 60 files to /usr/local/cocoon-2.1.1/build/cocoon-2.1.1/classes Copied 27 empty directories to /usr/local/cocoon-2.1.1/build/cocoon-2.1.1/classes Created dir: /usr/local/cocoon-2.1.1/build/cocoon-2.1.1/mocks Compiling 1 source file to /usr/local/cocoon-2.1.1/build/cocoon-2.1.1/mocks Compiling 523 source files to /usr/local/cocoon-2.1.1/build/cocoon-2.1.1/classes /usr/local/cocoon-2.1.1/src/java/org/apache/cocoon/components/flo w/ javascript/fom/FOM_Cocoon.java:93: cannot resolve symbol symbol : class FOM_JavaScriptInterpreter location: class org.apache.cocoon.components.flow.javascript.fom.FOM_Cocoon private FOM_JavaScriptInterpreter interpreter; ^ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: v2.1 Mac OS X installation does not work
Michel Benevento wrote: Martin, Can you please give me an detailed explanation of exactly what you have installed and how you installed it (i am especially unsure about my Ant configuration). I am sure I have all the right downloads, by the way. I have no ant installed. I use the ant version from cocoon. Make sure that you call the build over the build.sh script. Do not call ant directly with the build.xml from cocoon. Martin - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Large documents and fragments?
Hi, We work in the scientific publishing industry and our typical source materials are fairly large XML files that contain a journal article with all the usual stuff, abstracts, bibliographic references, figures, tables, etc. One of these documents typically yields multiple individual pages. For example, we will have an abstract page, a full text page, a figure 1 page, etc. Further, we will aggregate bits of 50 documents or so to produce a table of contents. I am looking for the best way to approach this with cocoon. It seems impractical to have a single source document drive all of these pages? I'm wondering if the document should be split up into fragments. How would something like this be done with cocoon? Can you serialize to a disk file? Also note that we are likely to be generating HTML off line and not using cocoon for serving pages. But we want to be able to take advantage of sitemaps, pipelines and all the other goodies to get the job done. This might be a bit outside of the normal cocoon usage. Has anyone else had any experience with this approach? Am I missing something obvious? Is there a better way? Many thanks! Fred - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Portal: HELP NEEDED!
Unfortunately my portal administration tools doesn't work anymore because I need to adapt them to my LDAP authentification. Is there a way to do this by hand without these tools? Yes you can edit the profile files by hand. They are normal xml files. Remember though that the portal profiles have a hierarchial structure. So a user profile (called: userprofile-xxx.xml) inherits from a role profile (called roleprofile-xxx.xml) which in turn inherits from the globalprofile.xml. You will need to take a look at these files carefully before patching in your coplet. Also make sure you read this: http://cocoon.apache.org/2.1/developing/webapps/portal.html It is a lot easier with the tools :). Matthew - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
SAX Error with stream generator
I have this error, why ? Description: org.apache.cocoon.ProcessingException: Failed to execute pipeline.: null:1:1:org.xml.sax.SAXParseException: Content is not allowed in prolog. The content of the document is : ?xml version=1.0 ? helloworld/hello Lionel CRINE Société : 4DConcept 22 rue Etienne de Jouy 78353 JOUY EN JOSAS Tel : 01.34.58.70.70 Fax : 01.39.58.70.70 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: encoding german http query parameters
I guess you build URLs using request parameters with German letters (something like a href=test.html?myname=Jörg/). This URL is encoded using UTF-8, while you have your documents encoded in ISO-8859-1 (configured at the serializer). If all these guesses are true you have different possibilities: 1. Replace the pure links by a form, the request params are now encoded with ISO-8859-1 too. 2. Change the serializer configuration to UTF-8 and set the form encoding either in the web.xml or using the SetCharacterEncodingAction to UTF-8 (now everything is handled as UTF-8). 3. The links are only for a specific group of matchers in the sitemap and it's enough to use the SetCharacterEncodingAction only for these links. It may not be a mixture of ISO-8859-1 forms and UTF-8 links. If my guesses are not true or the above does not work, you must provide some more information. Especially a sentence like when cocoon sends the request is irritating. There is also some information available at http://wiki.cocoondev.org/Wiki.jsp?page=RequestParameterEncoding. Joerg [EMAIL PROTECTED] wrote: I produce a webpage with links with German letters in the href attribute. The German letters are not encoded when cocoon sends the request. What shall I do to get this encoding, which is done for the normal text in the HTML-Page -- System Development VIRBUS AG Fon +49(0)341-979-7419 Fax +49(0)341-979-7409 [EMAIL PROTECTED] www.virbus.de - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [oss] cocoon and avalon based portal
- security-block : cocoon transformer. blocks content based on the roles the user is in. unlike RoleFilter transformer it uses the envelope pattern (not attributes). could you send pre-code ( simple xml ) for it, I want to see what features it has? Thanks, Hill __ Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software http://sitebuilder.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Portal: HELP NEEDED!
Matthew, Another strange thing is when I delete a coplet conf (coplet.../coplet) in the copletprofile.xml file, the coplet shouldn't appear in portal anymore, right? But after restarting Cocoon, if I go to the Customize page the coplet I have deleted still appears in the coplets list (All coplets). Do you know what's the problem? Regards Syvlain -Message d'origine- De: Matthew Langham [mailto:[EMAIL PROTECTED] Date: mardi, 9. septembre 2003 16:56 À: [EMAIL PROTECTED] Objet: RE: Portal: HELP NEEDED! How do you clear the profile cache by hand? Restarting Cocoon should be enough. The Portal manager uses the normal Cocoon caching mechanisms. Matthew - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: EJB + Cocoon, Best Practices
We are doing exactly that. Although our project is still in the very early stages, we have our EJBs returning Data Transfer Objects which are just Java Beans. We then wrote a BeanGenerator that calls a method on a service class that invokes the EJB and returns the DTO. It then passes the DTO to Betwixt which converts it to SAX events. I posted the BeanGenerator on the list a few days ago. Ralph -Original Message- From: Bastian Breithaupt [mailto:[EMAIL PROTECTED] Sent: Monday, September 08, 2003 2:33 PM To: [EMAIL PROTECTED] Subject: EJB + Cocoon, Best Practices Hi! I would like to set up a Model2 application with Cocoon end EJBs. Cocoon would be the presentation layer (also the controller layer?) and the business logic would be represented by the EJBs. (?) Are there any Best Practices for Cocoon working with EJBs? (suggestions, links, publications, documentation, ...) I suppose, calling the EJB-API is done by Cocoon-Actions...? (for example by using business delegation pattern) When using flow scripts, does it make sense to use actions? (how mature is flow script?) Any help, hint, link, ... is appreciated. Thank you in advance, Bastian __ 38xTestsieger - WEB.DE FreeMail - Deutschlands beste E-Mail Jeden Monat mit 10% mehr Leistung! http://f.web.de/?mc=021138 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: EJB + Cocoon, Best Practices
I haven't used flow either, primarily because it doesn't seem mature - at least from a documentation standpoint. However, my take on what I read was a little different than yours. I've looked at things like Weblogic's Java Page Flow and Cocoon's version seems similar. I believe the concept here is to manage a sequence of views. The pipeline seems to do a very good job in causing a single view to be presented but it is hard to make sure that pages are presented in the correct order. I belive Cocoon flow tries to address that problem. I see it more as a wrapper around a set of pipelines. Of course, if I have it wrong please correct me. Ralph -Original Message- From: jcplerm [mailto:[EMAIL PROTECTED] Sent: Monday, September 08, 2003 6:56 PM To: [EMAIL PROTECTED] Subject: Re: EJB + Cocoon, Best Practices I checked what I could find in terms of documentation and code related to the Flow, certainly I am missing something (is there is a document that clearly presents Flow from a conceptual to a lower level?). My objection is that so much emphasis has been made in terms of using as much as possible the sitemap and sitemap components, so applications are easily maintainable, and all of a sudden I see this Flow concept in which one really ends up burying the page chaining info in Javascript. Because that's what I see in the form2xml.flow example: the invocation of form2-display-pipeline and form2-success-pipeline is hardcoded in the binding_example.js script. That's totally the opposite of the sitemap concept. I really don't know how this could be done, but I would like to see that type of information specified in some sort of pipeline too. Sorry for my ignorance... jlerm - Original Message - From: Geoff Howard [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, September 08, 2003 8:28 PM Subject: Re: EJB + Cocoon, Best Practices Bastian Breithaupt wrote: Hi! I would like to set up a Model2 application with Cocoon end EJBs. Cocoon would be the presentation layer (also the controller layer?) and the business logic would be represented by the EJBs. (?) Excellent - I have always thought this use needed more press. Are there any Best Practices for Cocoon working with EJBs? (suggestions, links, publications, documentation, ...) Unfortunately, precious little has been written about the subject. Those who have used Cocoon and EJBs have not written much about it. I suppose, calling the EJB-API is done by Cocoon-Actions...? (for example by using business delegation pattern) When using flow scripts, does it make sense to use actions? (how mature is flow script?) Usually you would not need to call actions and flow. As you are designing from scratch, I'd recommend starting with flow. If done right, your logic would be re-usable as an action should the need arise. Conceptually flow will probably turn out to be pretty stable. The implementation is fairly new so using it may turn up unexpected issues. The good news is that most developers are paying a lot of attention to it, so there may be quick turn-around on resolving whatever comes up. In the end, the flow is just supposed to glue together your business logic especially as it relates to page flow within your application. This may make its young age less important. Any help, hint, link, ... is appreciated. No links that I'm aware of, but there are several people on list interested in writing up some examples of EJB and Cocoon who I'm sure would help you navigate the process. Give a little info about your specific needs/questions and some useful info is bound to turn up. For starters, are your EJBs on a remote server from Cocoon? Geoff - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Need help please
Hi All, I'm trying to set up a cocoon over apache but I'm getting the same error all the time. (Error compiling sitemap) I've really no idea how to solve the problem so that's why I ask for your help. My configuration is Gentoo 1.4, cocoon 2.0.2, apache 1.3.28, tomcat 4.1.24, jdk 1.4.2, xalan 2.5.1. Here are my logs files. Thanks in advance for helping me. FrankFATAL_E (2003-09-09) 10:03.15:648[core.xslt-processor](/cocoon/) Thread-8/TraxErrorHandler: Error in TraxTransformer: jar:file:/opt/tomcat/webapps/cocoon/WEB-INF/lib/cocoon-2.0.2.jar!/org/apache/cocoon/components/language/markup/sitemap/java/sitemap.xsl; Line 151; Column 32; ; SystemID: jar:file:/opt/tomcat/webapps/cocoon/WEB-INF/lib/cocoon-2.0.2.jar!/org/apache/cocoon/components/language/markup/sitemap/java/sitemap.xsl; Line#: 151; Column#: 32 javax.xml.transform.TransformerException: org.apache.xml.utils.WrappedRuntimeException: The output format must have a '{http://xml.apache.org/xalan}content-handler' property! at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2344) at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2160) at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1213) at org.apache.xalan.transformer.TransformerImpl.run(TransformerImpl.java:3372) at org.apache.xalan.transformer.TransformerHandlerImpl.endDocument(TransformerHandlerImpl.java:433) at org.xml.sax.helpers.XMLFilterImpl.endDocument(XMLFilterImpl.java:518) at org.xml.sax.helpers.XMLFilterImpl.endDocument(XMLFilterImpl.java:518) at org.apache.xerces.parsers.AbstractSAXParser.endDocument(Unknown Source) at org.apache.xerces.impl.XMLNamespaceBinder.endDocument(Unknown Source) at org.apache.xerces.impl.XMLDocumentScannerImpl.endEntity(Unknown Source) at org.apache.xerces.impl.XMLEntityManager.endEntity(Unknown Source) at org.apache.xerces.impl.XMLEntityScanner.load(Unknown Source) at org.apache.xerces.impl.XMLEntityScanner.skipSpaces(Unknown Source) at org.apache.xerces.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371) at org.xml.sax.helpers.XMLFilterImpl.parse(XMLFilterImpl.java:371) at org.apache.cocoon.components.language.markup.LogicsheetCodeGenerator.generateCode(LogicsheetCodeGenerator.java:175) at org.apache.cocoon.components.language.markup.AbstractMarkupLanguage.generateCode(AbstractMarkupLanguage.java:390) at org.apache.cocoon.components.language.generator.ProgramGeneratorImpl.generateResource(ProgramGeneratorImpl.java:365) at org.apache.cocoon.components.language.generator.ProgramGeneratorImpl.createResource(ProgramGeneratorImpl.java:328) at org.apache.cocoon.components.language.generator.ProgramGeneratorImpl.load(ProgramGeneratorImpl.java:291) at org.apache.cocoon.sitemap.Handler.run(Handler.java:270) at java.lang.Thread.run(Thread.java:534) Caused by: org.apache.xml.utils.WrappedRuntimeException: The output format must have a '{http://xml.apache.org/xalan}content-handler' property! at org.apache.xalan.serialize.SerializerFactory.getSerializer(SerializerFactory.java:142) at org.apache.xalan.transformer.TransformerIdentityImpl.createResultContentHandler(TransformerIdentityImpl.java:232) at org.apache.xalan.transformer.TransformerIdentityImpl.startDocument(TransformerIdentityImpl.java:869) at org.apache.xalan.transformer.ResultTreeHandler.flushDocEvent(ResultTreeHandler.java:826) at org.apache.xalan.transformer.ResultTreeHandler.flushPending(ResultTreeHandler.java:934) at org.apache.xalan.transformer.ResultTreeHandler.startElement(ResultTreeHandler.java:243) at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:673) at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2339) ... 27 more - org.apache.xml.utils.WrappedRuntimeException: The output format must have a '{http://xml.apache.org/xalan}content-handler' property! at org.apache.xalan.serialize.SerializerFactory.getSerializer(SerializerFactory.java:142) at org.apache.xalan.transformer.TransformerIdentityImpl.createResultContentHandler(TransformerIdentityImpl.java:232) at org.apache.xalan.transformer.TransformerIdentityImpl.startDocument(TransformerIdentityImpl.java:869) at org.apache.xalan.transformer.ResultTreeHandler.flushDocEvent(ResultTreeHandler.java:826) at org.apache.xalan.transformer.ResultTreeHandler.flushPending(ResultTreeHandler.java:934) at org.apache.xalan.transformer.ResultTreeHandler.startElement(ResultTreeHandler.java:243) at
Re: please help me - output format must have a '{http://xml.apache.org/xalan}content-handler' property
I'm getting the same error all the time. (Error compiling sitemap) I've really no idea how to solve the problem so that's why I ask for your help. My configuration is Gentoo 1.4, cocoon 2.0.2, apache 1.3.28, tomcat 4.1.24, jdk 1.4.2, xalan 2.5.1. Here are my logs files. snip from log files javax.xml.transform.TransformerException: org.apache.xml.utils.WrappedRuntimeException: The output format must have a '{http://xml.apache.org/xalan}content-handler' property! /snip from log files Its to do with Xalan version and JDK 1.4. Look at http://wiki.cocoondev.org/Wiki.jsp?page=EndorsedLibsProblem John - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: SAX Error with stream generator
Lionel, What editor are you using? This might happen if you opened an UTF-8 encoded file with a non-UTF-8 aware editor or if you opened your file with the wrong encoding, modified and saved it in another encoding (ANSI or ISO-8859-1). In that case, there might be two or three odd characters at the begining of the file, before the ?xml ... ? prolog. Try to delete the entire line with the XML prolog and to rewrite it. Olivier -Message d'origine- De : Lionel Crine [mailto:[EMAIL PROTECTED] Envoyé : mardi, 9. septembre 2003 15:36 À : [EMAIL PROTECTED] Objet : SAX Error with stream generator I have this error, why ? Description: org.apache.cocoon.ProcessingException: Failed to execute pipeline.: null:1:1:org.xml.sax.SAXParseException: Content is not allowed in prolog. The content of the document is : ?xml version=1.0 ? helloworld/hello Lionel CRINE Société : 4DConcept 22 rue Etienne de Jouy 78353 JOUY EN JOSAS Tel : 01.34.58.70.70 Fax : 01.39.58.70.70 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Need help please
On Tue, Sep 09, 2003 at 09:55:06AM -0700, [EMAIL PROTECTED] wrote: Hi All, I'm trying to set up a cocoon over apache but I'm getting the same error all the time. (Error compiling sitemap) I've really no idea how to solve the problem so that's why I ask for your help. My configuration is Gentoo 1.4, cocoon 2.0.2, apache 1.3.28, tomcat 4.1.24, jdk 1.4.2, xalan 2.5.1. Here are my logs files. Thanks in advance for helping me. I bet this is the endorsed-libs-problem. put xalan, xerces and xml-apis into tomcat/common/endorsed directory LG -- __ | / \ |Leszek Gawron// \\ \_\\ //_/ [EMAIL PROTECTED] _\\()//_ .'/()\'. Phone: +48(501)720812 / // \\ \ \\ // recursive: adj; see recursive | \__/ | - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
xsp:attr bug?
How comes this doesn't work?: xsp:attribute name=error xsp:logic if (somVar == null) errorStatus = false; else errorStatus = true; /xsp:logic xsp:exprerrorStatus/xsp:expr /xsp:attribute What is strange to me that Cocoon doesn't complain in producing the Java code, but that it puts the equivalent Java code for xsp:exprerrorStatus/xsp:expr *before* the equivalent code fo the xsp:logic block. So it then fails to compile, saying that variable errorStatus may not have been initialized. So why does Cocoon generate the Java code backwards? Thanks, Sonny _ Get 10MB of e-mail storage! Sign up for Hotmail Extra Storage. http://join.msn.com/?PAGE=features/es - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Large documents and fragments?
From what I understand so far about cocoon, it seems I would have to parse the file 5 or more times, once for each of the output page types. Is there a better way? Cocoon has a powerful caching mecanism built in, so it won't probably need to parse it each time. But this depends on your pipelines, all content cannot be cached; having said this, if you intend to process static XML files, they will be cached upon parsing. I feel like I need a process to make XML fragments for these, then call them individually for processing. Or is that not the cocoon way? It is the Cocoon way! There are many ways to split your processing and to reuse components. Here is one: !-- Internal pipeline: produces XML content, does not match URIs -- map:pipeline internal-only=true !-- Generate the full source document -- map:match pattern=single-source(text-full).xml map:generate type=file src=single-source.xml/ map:serialize type=xml/ /map:match map:match pattern=single-source(text-section*).xml map:generate type=file src=cocoon:/single-source(text-full).xml/ map:transform type=xslt src=filter-section.xsl map:parameter name=idrefSection value={1}/ /map:transform map:serialize type=xml/ /map:match !-- Filter one or more figures from the source document -- map:match pattern=single-source(figure*).xml map:generate type=file src=cocoon:/single-source(text-full).xml/ map:transform type=xslt src=filter-figure.xsl map:parameter name=idrefFigure value={1}/ !-- If idrefFigure == , you could design the transformation to return all figures -- /map:transform map:serialize type=xml/ /map:match ... !-- the same for abstract, tables, ... -- ... /map:pipeline !-- Driving pipeline, does match URIs -- map:pipeline -- The full text, with figures, tables, abstract, toc, ... -- map:match pattern=full-text.html map:generate type=file src=cocoon:/single-source(text-full).xml/ map:transform type=xslt src=layout-text-to-xhtml.xsl/ map:transform type=xslt src=layout-abstract-to-xhtml.xsl/ map:transform type=xslt src=layout-figures-to-xhtml.xsl/ map:transform type=xslt src=layout-tables-to-xhtml.xsl/ map:transform type=xslt src=layout-toc-to-xhtml.xsl/ map:serialize type=xhtml/ /map:match -- A specific figure -- map:match pattern=figure*.html map:generate type=file src=cocoon:/single-source(figure{1}).xml/ map:transform type=xslt src=layout-figures-to-xhtml.xsl/ map:serialize type=xhtml/ /map:match ... !-- the same for abstract, tables, ... -- ... !-- Custom text assembly -- map:match pattern=custom-text.html map:aggregate element=text map:part src=cocoon:/single-source(text-section1).xml strip-root=true/ map:part src=cocoon:/single-source(figure6).xml strip-root=true/ map:part src=cocoon:/single-source(text-section9).xml strip-root=true/ map:part src=cocoon:/single-source(table3).xml strip-root=true/ /map:aggregate map:transform type=xslt src=layout-text-to-xhtml.xsl/ map:transform type=xslt src=layout-figures-to-xhtml.xsl/ map:transform type=xslt src=layout-tables-to-xhtml.xsl/ map:serialize type=xhtml/ /map:match /map:pipeline The simplest is to use pipelines and/or matchers. You could also rely on resources (map:call resource=...) and views. I use views for debugging purposes and alternate layout, and make extensive use of resources and pipelines. Hope that helps! Olivier -Message d'origine- De : Fred Toth [mailto:[EMAIL PROTECTED] Envoye : mercredi, 10. septembre 2003 03:42 A : [EMAIL PROTECTED] Objet : RE: Large documents and fragments? Thanks Olivier, Yes, that does help. I read up on the command line interface and I see that it neatly solves the serialize-to-file problem (and others). Thanks for the tip. But what about the fragment question? Say I have a single source file that will generate these pages: 1. full text view 2. abstract only view 3. figure 1 page 4. figure 2 page 5. table 1 page etc. From what I understand so far about cocoon, it seems I would have to parse the file 5 or more times, once for each of the output page types. Is there a better way? I feel like I need a process to make XML fragments for these, then call them individually for processing. Or is that not the cocoon way? Thanks again, Fred At 09:09 PM 9/9/03 +0200, you wrote: This might be a bit outside of the normal cocoon usage. Has anyone else had any experience with this approach? Am I missing something obvious? Is there a better way? Have you seen that Cocoon can be run from the command line? In that case, it produces static files for each matched URI in the sitemap, and Cocoon can follow links between the files. The Cocoon documentation is built like this, it was the initial intent of Cocoon. Apache Forrest uses Cocoon to do this also, generating static HTML and PDF documents alike. I'm just doing this to generate a website
RE: i18n trouble with nested elements in catalog messages
Konstantin, look at the MirrorRecorder class (in transformation/helpers). Probably, it simply doesn't record the uri and the local name when parsing a translation. It should be quite easy to add support for it. I attentively read the code of the MirrorRecorder class, but as far as I understood, it is namespace aware and does record the uri and local name systematically. I also screened the source code of the i18nTranformer, namely tr_text_recorder's usage, and it seems also ok (I thought the markup might get converted to plain text somewhere). One thing that appeared suspicious to me in MirrorRecorder.nodeToEvents (line 229, Cocoon 2.1): startElement(n.getNamespaceURI(), n.getNodeName(), n.getNodeName(), attrs); I would have expected startElement(n.getNamespaceURI(), n.*getLocalName()*, n.getNodeName(), attrs); But I am no SAX specialist. Anyway, getNamespaceURI() and getLocalName() for the attributes, as well as getNamespaceURI() for the elements of a catalogue message, seem to get lost somewhere in the processing of the catalogue message elements. When I insert the Log transformer after the i18n transformation, these are the last lines that are logged before Cocoon throws the NPE: [startElement] uri=null,local=d:p,raw=d:p [characters] Filmvorführungen in Zusammenarbeit mit dem Filmkreis Oberwallis. [endElement] uri=null,local=d:p,qname=d:p [startElement] uri=null,local=d:p,raw=d:p [characters] Zu «Alpdurchblick. Filme zur NEAT» ist ein Katalog mit ausführlichen Informationen zum Gesamtprogramm erhältlich. Zu beziehen ist er bei Filmkreis Oberwallis ... [startElement] uri=null,local=d:link,raw=d:link [] 1. uri=null,local=null,qname=href,type=CDATA,value=mailto:[EMAIL PROTECTED] The is the corresponding catalog messages being inserted by the i18n transformer: catalogue xml:lang=de xmlns:d=urn:pro-helvetia.ch:phga:docmini:v1.1 xmlns:xlink=http://www.w3.org/1999/xlink; ... message key=1101 status=validated complex=trued:pFilmvorführungen in Zusammenarbeit mit dem Filmkreis Oberwallis./d:pd:pZu «Alpdurchblick. Filme zur NEAT» ist ein Katalog mit ausführlichen Informationen zum Gesamtprogramm erhältlich. Zu beziehen ist er bei Filmkreis Oberwallis, ... d:link href=mailto:[EMAIL PROTECTED]email(at)domain.ch/d:link./d:p/message ... /catalogue uri and local are null. I inserted debugging messages in i18nTransformer and modified MirrorRecord.StartElement.toString() to get the NamespaceURI and LocalName of the elements and attributes passed to MirrorRecorder, and could check that the NamespaceURI is already lost at that stage: excerpt with my custom debug message from sitemap.log: DEBUG (2003-09-10) 03:16.30:079 [sitemap.transformer.i18n] (/rm/events/filmprog/proj/brig.html) HttpProcessor[8080][3]/I18nTransformer: I18nTransformer: Got translation: d:p(null:d:p)Filmvorführungen in Zusammenarbeit mit dem Filmkreis Oberwallis./d:p(null:d:p)d:p(null:d:p)Zu «Alpdurchblick. Filme zur NEAT» ist ein Katalog mit ausführlichen Informationen zum Gesamtprogramm erhältlich. Zu beziehen ist er bei Filmkreis Oberwallis, Jean-Pierre D'Alpaos, Schulhausstrasse 10, 3900 Brig, 027/923 23 27 und Pro Helvetia, Hirschengraben 22, 8024 Zürich, 01 267 71 86, .d:link(null:d:link) href(null:null)=mailto:[EMAIL PROTECTED]email(at)domain.ch/d:link(null:d:l ink)./d:p(null:d:p) Format is: raw(uri:localName) attrQName(uri:localName). uri and local are null way before coming to the Log transformer. But why would these attribute be Null at this stage? Could the problem arise from the XMLResourceBundle or the component which parses the catalogue? or the one that returns an catalogue object for a key? I tried to follow what happens for catalogue.getObject( ) from i18nTransformer.getMirrorRecorder( key, default), but did not find the Bundle interface implementation. Olivier -Message d'origine- De : Konstantin Piroumian [mailto:[EMAIL PROTECTED] Envoyé : mardi, 9. septembre 2003 09:01 À : [EMAIL PROTECTED] Objet : Re: i18n trouble with nested elements in catalog messages Not sure if this is an i18n transformer issue, but it is worth to take a look at the MirrorRecorder class (in transformation/helpers). Probably, it simply doesn't record the uri and the local name when parsing a translation. It should be quite easy to add support for it. I'll take a look at it if I have time. -- Konstantin From: Olivier Lange [EMAIL PROTECTED] Hello all, Does anybody know if the i18n transformer supports nested elements within the catalog messages? I examined the tranformer's source code (Cocoon 2.1), but it is not obvious to me. If not, would it be possible and make sense to enable support for nested elements with attributes and namespaces? Or would it not be desirable? I would like to have short structured text messages (XML fragments) within the catalog, rather that just plain text messages (character strings). Let me give an example. I'd like to
Can't close LogFactor5 windows
Does anybody else have problems closing the LogFactor5 windows that pop up? It doesn't let me close them for some reason, and I end up with them stacking up and taking up precious memory. Thanks for any insights, Sonny _ Fast, faster, fastest: Upgrade to Cable or DSL today! https://broadband.msn.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Session management (NEWBIE)
Hi there, I am currently stuck trying to decide how to go about something in Cocoon: I have a page which receives a POST request, and from that page there is an image (dynamically created from SVG to PNG by Cocoon) that requires access to the parameters in the POST request and is also a server-side image map. What is the most elegant/simplest way to do this in Cocoon (2.1)? I suspect this has to do with session management but I've been reading about XMLForms and Actions and am about to look into Flowscript, but if some one could point me in the right direction then that'd save me alot of time! Cheers, Joel - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[ANN] Another reason to go to the GetTogether
In case any of you are still wondering why you should register for the Cocoon GetTogether (http://www.orixo.com/events/gt2003/) - here's another reason: Pick up your copy of the free, Eclipse based, Cococon tool - sunBow (http://radio.weblogs.com/0108489/). The newest version 2.0, which will be distributed first in Ghent, will include the real-time Cocoon sitemap debugger (some of you may remember seeing that in Ghent last year) and other enhancements. (Of course it will then also be available for download!) So run, don't walk to the registration page and be there! Matthew -- Open Source Group Cocoon { Consulting, Training, Projects } = Matthew Langham, SN AG, Klingenderstrasse 5, D-33100 Paderborn Tel:+49-5251-1581-30 [EMAIL PROTECTED] - http://www.s-und-n.de - Cocoon book: http://www.amazon.com/exec/obidos/ASIN/0735712352/needacake-20 Weblogs: http://www.silent-penguin.com http://www.oreillynet.com/weblogs/author/1014 = - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: EJB + Cocoon, Best Practices / Betwixt
that invokes the EJB and returns the DTO. It then passes the DTO to Betwixt which converts it to SAX events. I posted the BeanGenerator on the list a Perheaps you are also interested in a BetwixtTransformer, analoge to CastorTransformer? I post it here, perheaps anyone can put it in the scratchpad? regards Christoph org.apache.cocoon.tranformation.BetwixtTransformer: --- /* The Apache Software License, Version 1.1 Copyright (C) 1999-2003 The Apache Software Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modifica- tion, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The end-user documentation included with the redistribution, if any, must include the following acknowledgment: This product includes software developed by the Apache Software Foundation (http://www.apache.org/). Alternately, this acknowledgment may appear in the software itself, if and wherever such third-party acknowledgments normally appear. 4. The names Apache Cocoon and Apache Software Foundation must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact [EMAIL PROTECTED] 5. Products derived from this software may not be called Apache, nor may Apache appear in their name, without prior written permission of the Apache Software Foundation. THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. This software consists of voluntary contributions made by many individuals on behalf of the Apache Software Foundation and was originally created by Stefano Mazzocchi [EMAIL PROTECTED]. For more information on the Apache Software Foundation, please see http://www.apache.org/. */ package org.apache.cocoon.transformation; import java.lang.reflect.Proxy; import java.util.Collection; import java.util.Iterator; import java.util.Map; import org.apache.avalon.framework.configuration.Configurable; import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.configuration.ConfigurationException; import org.apache.avalon.framework.parameters.Parameters; import org.apache.cocoon.environment.Context; import org.apache.cocoon.environment.ObjectModelHelper; import org.apache.cocoon.environment.Request; import org.apache.cocoon.environment.Session; import org.apache.cocoon.environment.SourceResolver; import org.apache.commons.betwixt.XMLIntrospector; import org.apache.commons.betwixt.io.SAXBeanWriter; import org.apache.commons.betwixt.strategy.ClassNormalizer; import org.apache.commons.logging.impl.LogKitLogger; import org.xml.sax.Attributes; import org.xml.sax.SAXException; /** * Betwixt transformer marshals a object from the Sitemap, Session, Request or * the Conext into a series of SAX events. * * Configuation: The betwixt transformer can be configured to not output element * reference ids. The default setting is to output reference IDs. * pre * lt;map:transformer name=betwixt src=org.apache.cocoon.transformation.BetwixtTransformer * lt;ref-idsgt;truelt;/ref-idsgt; * lt;/map:transformergt; * /pre * * A sample for the use: * pre * lt;root xmlns:betwixt=http://apache.org/cocoon/betwixt-transfomergt; *lt;betwixt:include name=invoice /gt; *lt;betwixt:include name=product scope=sitemap /gt; *lt;betwixt:include name=product2 element=other-product /gt; * lt;/rootgt; * /pre * The codeBetwixtTransfomer/code support only one Element codebetwixt:include/code. * This element is replaced with the marshalled object. The Object given through the * attribute codename/code will be searched in the