cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gou...@osmosis.gr
Subject RE: html templates - best practise [ann] othello
Date Fri, 03 Oct 2003 22:14:34 GMT
op sorry ..

the URL: http://tools.osmosis.gr/othello/othello.gr.zip

-- stavros



On Sat, 4 Oct 2003 gounis@osmosis.gr wrote:

> hi people 
> in our plans was to  announce this in few weeks when the project will 
> have a final state and a HowTo use Guide
> 
> but considering this thread we have to show you our approach
> 
> the idea was a project that can build small to medium web sites using 
> cocoon 
> 
> the project must be template-based (so designing a different theme you can 
> change the look & feel of the site) and will be able to reused without to 
> touch (need to change) the sitemap.xmap
> 
> for the moment we have implement cocoon i18n and a mechanism that allow 
> you to create your pages writing xhtml or your own element and custom 
> transformations (xml/xslt)
> 
> some hits
> ---------
> in root folder are 2 files
> 
> home.xhtm
> main.xhtm
> 
> this files are the templates for the home (first) page and the content 
> pages
> 
> inside are some <osm:block-copy/> and <osm:copy/> (will be content-copy 
> soon) that select the content from spesific block (/bloks/blocks.xml) or 
> content files
> 
> the content files are in /c_en/*.xml, /c_el/*.xml, /c_yourLang/*.xml
> 
> the directory structure is designed this way to be ready for our virtual 
> hostin server, considering the usage of mod_proxy, mod_rewrite
> 
> installation
> -----------
> 
> 1. download the zip file
> 2. extract and put [othello.gr] dir somewhere in your disk
> 3. mount othello sitemap.xmap in cocoon main sitemap.xmap
> 
> othello.gr
>   |
>   +------conf
>   |        +--sitemap.xmap
>   |
>   +------htdocs
>            +-- (all the stuff)
> 
> for example
> 		<map:pipeline>
> 			<map:match pattern="*.gr/**">
> 				<map:mount check-reload="yes" src="file://c:/Server/xwww/{1}.gr/conf/sitemap.xmap"
uri-prefix="{1}.gr"/>
> 			</map:match>
> 		</map:pipeline>
> 
> or
> 
> 		<map:pipeline>
> 			<map:match pattern="othello.gr/**">
> 				<map:mount check-reload="yes" src="file://c:/Server/xwww/othello.gr/conf/sitemap.xmap"
uri-prefix="othello.gr"/>
> 			</map:match>
> 		</map:pipeline>
> 
> 4. ask http://localhost:8080/cocoon/othello.gr/
> 
> *** please use cocoon 2.0.4 ***
> note: in 2.1 some namespaces declaration have to change
> 
> we have test all this in both unix and win platform (winXP)
> with tomcat 4.0.6 4.1.17 4.1.24
> 
> 
> n'joy
> 
> 
> please inform me for any comments or suggestion
> soon will be a list for this purpose
> for the momemnt contact me directly or using this list 
> (if this usage is ON-TOPIC)
> 
> 
> we will make our best to see all this in the examples area of cocoon distribution
> 
> --- stavros
> 
> On Fri, 3 Oct 2003, Horsfield, Peter A. wrote:
> 
> > One thing I think nobody has mentioned yet is the use 
> > of the cocoon:/ internal pipeline call.
> > 
> > Using that in conjunction with the XSLT document function means
> > you get to take advantage of Cocoon pipelines for fragments of 
> > presentation or data XML, whatever format. You can also then
> > feed in the particular fragments using XSLT parameters 
> > specified in the sitemap, and hence based on the request.
> > 
> > The problem with using this indirection is that you may bypass a 
> > little bit of the Cocoon framework. In particular, I think one 
> > of the articles that someone linked too mentioned
> > that Cocoon or XSLT blindly caches the document accessed by the 
> > document() function. This is obviously no good if the URI indicates
> > a resource that might change ( anyone know for sure? )
> > 
> > The other XSLT issue is the way it can implicitly fall back to a 
> > non-streamed approach. I suspect that carefully written XSLT will
> > maintain the SAX streaming without caching it all first. However
> > as soon as you use the document function to merge two inputs, 
> > you're caching the secondary input. In general I've seen that 
> > presentation XML is larger/longer than data XML which is why I 
> > access data through the document() function and not presentation.
> > 
> > The alternative to XSLT I've seen around is STX, streaming 
> > transformations for xml, but I've not used it. Streaming/Merging
> > two SAX event streams does seem like a thorny problem at first
> > glance though.
> > 
> > Also, bear in mind that as soon as you embed XHTML within your
> > XSLT directly, you limit yourself to Altova products as the only
> > IDE capable of understanding what you've done. The majority of
> > IDEs out there still spend the majority of their time trying
> > to understand the various finicky bits of HTML4 and less on 
> > understanding XML namespaces.
> > 
> > Regards,
> > 
> > Peter
> > 
> > -----Original Message-----
> > From: Alexander Schatten [mailto:alasan@gmx.at]
> > Sent: Friday, October 03, 2003 12:30 PM
> > To: users@cocoon.apache.org
> > Subject: Re: html templates - best practise
> > 
> > 
> > I developed a way of "callback" templates. Look at this:
> > 
> > (0) consider a HTML design like this:
> > 
> > +--------------------------------------------+
> > | Page Title (each page different)           |
> > +--------------------------------------------+
> > | Main Navigation (for all pages the same    |
> > +--------------------------------------------+
> > |                                            |
> > |                                            |
> > | Content (each page different)              |
> > |                                            |
> > |                                            |
> > |                                            |
> > +--------------------------------------------+
> > | Footer (each page different)               |
> > +--------------------------------------------+
> > 
> > 
> > (1) first of all there is the default.xsl stylesheet it looks (very 
> > reduced version) like this:
> > 
> > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
> > encoding="iso-8859-1" version="1.0">
> > 
> >     <xsl:variable name="menu" select="document('../xml/menu.xml')"/>
> > 
> >     <xsl:template match="/">
> >         <html>
> >             <head>
> >                 <title>Cocoon Day 2003</title>
> >                 <link href="style.css" rel="stylesheet" type="text/css" />
> >             </head>
> > 
> >             <body>
> >             <!-- snip: here is the html part for the navigation header -->
> >             <xsl:call-template name="title"/>
> >             <!-- end of html navigation part -->
> > 
> >             <!-- / snip here is the html part surrounding the content -->
> >             <xsl:apply-templates /> oder <xsl:call-template 
> > name="content"/>
> >             <!-- end of html content part -->
> > 
> >             <!-- / snip here is the html part surrounding the footer -->
> >             <xsl:call-template name="footer"/>
> >             <!-- end of html content part -->
> > 
> >             </body>
> >         </html>
> >     </xsl:template>
> > 
> > </xsl:stylesheet>
> > 
> > 
> > (2) then there are the specific stylesheets for different parts of the 
> > website, looking like this:
> > 
> > <xsl:stylesheet
> >     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> >     encoding="iso-8859-1"
> >     version="1.0">
> > 
> >     <xsl:include href="default.xsl"/>
> > 
> >     <xsl:template name="title">
> >         Titel
> >     </xsl:template>
> > 
> >     <xsl:template name="content">
> >         <!-- add XSL and other code to generate content part -->
> >     </xsl:template>
> > 
> >     <xsl:template name="footer">
> >         <!-- add XSL and other code to generate footer part -->
> >     </xsl:template>
> >    
> > </xsl:stylesheet>
> > 
> > 
> > the include includes the default stylesheet, in which the root template 
> > it the first to be executed. then, this root template builds the  HTML 
> > "frame" and calls the named templates to fill in the concrete content.
> > 
> > The main advantage is this: in the default.xsl stylesheet inside the 
> > root template is xhtml that can be edited with any editor e.g. 
> > dreamweaver. the only xsl tags are the 2 or 3 call-templates and those 
> > are usually ignored by html editors like dreamweaver.
> > 
> > I use this in many projects and it works excellent also offline (with 
> > normal XSLT transformation e.g. using ANT).
> > 
> > alex
> > 
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> > For additional commands, e-mail: users-help@cocoon.apache.org
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> > For additional commands, e-mail: users-help@cocoon.apache.org
> > 
> > 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> For additional commands, e-mail: users-help@cocoon.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Mime
View raw message