kpiroumian 02/04/30 08:32:21 Modified: src/webapp sitemap.xmap Added: src/webapp/myapp myapp.spp readme.html sitemap.xmap src/webapp/myapp/xml page.xml src/webapp/myapp/xsp page.xsp src/webapp/myapp/xsl style.xsl Log: Added a "Quick start" application template to be used for "minimal Cocoon" build target. Revision Changes Path 1.49 +6 -0 xml-cocoon2/src/webapp/sitemap.xmap Index: sitemap.xmap =================================================================== RCS file: /home/cvs/xml-cocoon2/src/webapp/sitemap.xmap,v retrieving revision 1.48 retrieving revision 1.49 diff -u -r1.48 -r1.49 --- sitemap.xmap 25 Apr 2002 16:26:29 -0000 1.48 +++ sitemap.xmap 30 Apr 2002 15:32:21 -0000 1.49 @@ -482,6 +482,12 @@ --> <map:pipelines> + <!-- MyApp - minimal Cocoon Application Mount --> + <map:pipeline> + <map:match pattern="myapp/**"> + <map:mount uri-prefix="myapp" src="myapp/" check-reload="yes"/> + </map:match> + </map:pipeline> <!-- sub-sitemap example pipeline --> <map:pipeline> 1.1 xml-cocoon2/src/webapp/myapp/myapp.spp Index: myapp.spp =================================================================== <?xml version="1.0" encoding="UTF-8"?> <Project> <Folder FolderName="XML Files" ExtStr="xml;cml;math;mtx;rdf;smil;svg;wml"> <File FilePath=".\xml\page.xml" HomeFolder="Yes"/> </Folder> <Folder FolderName="XSP" ExtStr="xsp"> <File FilePath=".\xsp\page.xsp" HomeFolder="Yes"/> </Folder> <Folder FolderName="XSL Files" ExtStr="xsl;xslt"> <File FilePath=".\xsl\style.xsl" HomeFolder="Yes"/> </Folder> <Folder FolderName="HTML Files" ExtStr="html;htm;xhtml;asp"> <File FilePath=".\readme.html" HomeFolder="Yes"/> <File FilePath=".\readme.txt" HomeFolder="Yes"/> </Folder> <Folder FolderName="DTD/Schemas" ExtStr="dtd;dcd;xdr;biz;xsd"/> <Folder FolderName="Entities" ExtStr="ent"/> <File FilePath=".\sitemap.xmap" HomeFolder="Yes"/> </Project> 1.1 xml-cocoon2/src/webapp/myapp/readme.html Index: readme.html =================================================================== <!-- CVS: $Id: readme.html,v 1.1 2002/04/30 15:32:21 kpiroumian Exp $ --> <html> <head> <title>Minimal Cocoon Web Application - README</title> </head> <body> <pre> ================================================================== Minimal Cocoon Web Application Template by Konstantin Piroumian ([EMAIL PROTECTED]) Date: $Date: 2002/04/30 15:32:21 $ ================================================================== This is the place where you can start hacking with Cocoon. What you have to know before using this template ------------------------------------------------ 1. You should know basics of XML: how to create content 2. You should be familiar more or less with XSLT 3. You should be familiar with Web Applications and servlet environment 4. It's not neccessary, but it'd be fine if you were familiar with Java language, so you could create dynamic pages For newbies ------------ 1. Create XML files, drop them into 'xml' directory 2. Edit the stylesheet named style.xsl to render your xml, just drop it into 'xsl' directory 3. Access this URL: http://localhost:<port>/cocoon/myapp/<page>.xml where 'page' is actual name of your xml file, say 'index.xml' 'port' your app server port where it handles servlet requests, 8080 for Tomcat 4. Enjoy! Note: Templates for XML, XSLT files are provided for your convenience. A little more advanced users ---------------------------- 1. Create XSP files, drop them into 'xml' directory 2. Create/reuse stylesheet(s) to render your XSP output 3. Access this URL: http://localhost:<port>/cocoon/myapp/<page>.xsp 4. Fix your XSP, try again 5. Enjoy! Very advanced users -------------------- 1. Read User docs (http://xml.apache.org/cocoon/userdocs/) 2. Edit your sitemap.xmap as needed for your application: - add/use components (see root sitemap to see what is availble) - add/modify pipelines (change matching patterns, add actions) - use more transformations in pipeline - use aggregation - create sitemap resources - create sitemap views Not all the above is necessary for every application. For advanced developers ------------------------ You don't need this application, you can create your own, if no, then look a few lines upper ;) 1. Read Developer docs (http://xml.apache.org/cocoon/developing/extending.html) 2. Implement your own components: - actions - generators - transformers - serializers - sources - [add your own] Note: You can find a lot of samples to learn from in Cocoon sources. 3. Declare your components in sitemap 4. Debug your sitemap 5. Debug your components 6. Enjoy when it works! For all kind of users --------------------- - Join Cocoon Users mail list and ask questions if you don't find the answer in FAQ or docs - Join Cocoon Dev mail list to participate in Cocoon development That's all folks! Cocoon Team wishes you Happy Hacking with Cocoon 2.1! </pre> </body> </html> 1.1 xml-cocoon2/src/webapp/myapp/sitemap.xmap Index: sitemap.xmap =================================================================== <?xml version="1.0"?> <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> <!-- CVS: $Id: sitemap.xmap,v 1.1 2002/04/30 15:32:21 kpiroumian Exp $ --> <!-- Minimal sitemap to start making XML/XSP/XSLT transformations. Author: Konstantin Piroumian "[EMAIL PROTECTED]" --> <map:components> <map:generators default="file"/> <map:transformers default="xslt"/> <map:readers default="resource"/> <map:serializers default="html"/> <map:matchers default="wildcard"/> <map:selectors default="browser"/> </map:components> <!-- =========================== Pipelines ================================= --> <map:pipelines> <map:pipeline> <!-- Default URL matcher. Matches '/' URLs--> <map:match pattern=""> <map:redirect-to uri="readme.html" /> </map:match> <!-- This matches requests like 'page.xml' to display static output --> <map:match pattern="*.xml"> <!-- {1} contains the value that substituted '*' in the pattern--> <map:generate src="xml/{1}.xml"/> <!-- You can change 'src' to 'xsl/{1}.xsl' to use custom stylesheets for every page, e.g.: mypage.xml -> mypage.xsl --> <map:transform src="xsl/style.xsl"/> <!-- Just output the result as HTML (default) Add 'type' attribute with 'xml' value to get XML output --> <map:serialize/> </map:match> <!-- This matches requests like 'page.xsp' to display dynamic output --> <map:match pattern="*.xsp"> <!-- This generator uses 'serverpages' generator. See the root sitemap for other types of available components --> <map:generate type="serverpages" src="xsp/{1}.xsp"/> <map:transform src="xsl/style.xsl"/> <map:serialize/> </map:match> <!-- Display static HTML files, like readme.html --> <map:match pattern="*.html"> <map:read src="{1}.html" mime-type="text/html" /> </map:match> <!-- Add your pipelines here --> </map:pipeline> </map:pipelines> </map:sitemap> <!-- end of file --> 1.1 xml-cocoon2/src/webapp/myapp/xml/page.xml Index: page.xml =================================================================== <?xml version="1.0" encoding="UTF-8"?> <!-- CVS: $Id: page.xml,v 1.1 2002/04/30 15:32:21 kpiroumian Exp $ --> <page> <title>My App page</title> <content> <para>Just a static contents</para> </content> </page> 1.1 xml-cocoon2/src/webapp/myapp/xsp/page.xsp Index: page.xsp =================================================================== <?xml version="1.0" encoding="ISO-8859-1"?> <!-- CVS: $Id: page.xsp,v 1.1 2002/04/30 15:32:21 kpiroumian Exp $ --> <!-- XSP can be assotiated with the logicsheet using processing instruction xml-logicsheet or the xsp:logicsheet element. Do not use both methods! <?xml-logicsheet href="logicsheets/hello.xsl"?> --> <xsp:page language="java" xmlns:xsp="http://apache.org/xsp"> <!-- Place your imports here. Note, that you shoud have imported packages somewhere in classpath. --> <xsp:structure> <xsp:include>java.util.Date</xsp:include> </xsp:structure> <!-- Place your class level logic here --> <xsp:logic> private Date getDate() { return new Date(); } </xsp:logic> <!-- Your content root element --> <page> <!-- Place logicsheet declarations here. Href is relative to app context --> <!-- <xsp:logicsheet location="logicsheets/hello.xsl"/> --> <title>My App XSP Page</title> <content> <para> Some dynamic content <xsp:expr>getDate()</xsp:expr> </para> </content> </page> </xsp:page> 1.1 xml-cocoon2/src/webapp/myapp/xsl/style.xsl Index: style.xsl =================================================================== <?xml version="1.0" encoding="UTF-8"?> <!-- CVS: $Id: style.xsl,v 1.1 2002/04/30 15:32:21 kpiroumian Exp $ --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="page"> <html> <head> <title><xsl:value-of select="title" /></title> </head> <body> <xsl:apply-templates /> </body> </html> </xsl:template> <xsl:template match="title"> <h1><xsl:value-of select="." /></h1> </xsl:template> </xsl:stylesheet>
---------------------------------------------------------------------- In case of troubles, e-mail: [EMAIL PROTECTED] To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]