Subject: Re: [xsl] Implementing an Blogger-style template using XSLT From: "Terence Kearns" <terence.kearns@xxxxxxxxxxxxxxx> Date: Tue, 21 Feb 2006 18:18:04 +1100 |
doh!, the thing with a mailing list is you can't ammend you post. Here is the "finished" version of the template I made for you. That last one was an old copy from the clipboard. <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:MBTemplate="http://www.mydomain.com/Template"> <xsl:template match="/"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title><xsl:value-of select="MBTemplate:sitetitle" /></title> </head> <body> <div id="menucontainer"></div> <div id="container"> <div id="sidebar"> <h2 id="welcomenote">Welcome to My Site</h2> <xsl:apply-templates select="MBTemplate:submenus" /> </div> <div id="main"> <xsl:value-of select="MBTemplate:sitetitle" /> <xsl:apply-templates select="MBTemplate:entries" /> </div> </div> </body> </html> </xsl:template> <xsl:template match="MBTemplate:submenus"> <xsl:value-of select="MBTemplate:submenuheader" /> <ul class="submenu"> <xsl:apply-templates select="MBTemplate:submenu" /> </ul> </xsl:template> <xsl:template match="MBTemplate:submenu"> <li><xsl:value-of select="MBTemplate:submenulink" /></li> </xsl:template> </xsl:stylesheet> On 21/02/06, Terence Kearns <terence.kearns@xxxxxxxxxxxxxxx> wrote: > Sounds suspiciously like you want us to write your XSLT file for you :D > > Okay welll here's a start then (untested). But I'm not gonna do your > homework for you. > > <?xml version="1.0" encoding="UTF-8"?> > <xsl:stylesheet > version="1.0" > xmlns="http://www.w3.org/1999/xhtml" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:MBTemplate="http://www.mydomain.com/Template"> > > <xsl:template match="/"> > <html> > <head> > <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> > <title>Document Title</title> > </head> > <body> > <div id="menucontainer"></div> > <div id="container"> > <div id="sidebar"> > <h2 id="welcomenote">Welcome to My Site</h2> > <xsl:apply-templates select="BTemplate:submenus" /> > </div> > <div id="main"> > <MBTemplate:sitetitle/> > <xsl:apply-templates select="MBTemplate:entries" /> > </div> > </div> > </body> > </html> > </xsl:template> > > <xsl:template match="BTemplate:submenus"> > <MBTemplate:submenuheader/> > <ul class="submenu"> > <xsl:apply-templates select="BTemplate:submenu" /> > </ul> > </xsl:template> > > <xsl:template match="BTemplate:submenu"> > <li><MBTemplate:submenulink/></li> > </xsl:template> > > </xsl:stylesheet> > > First, you don't currently have a BTemplate:submenus element to match > on in your source document just like other elements you included in > your template but I not contained in your source. Either you will have > to change your source XML to generate the elements you wish to match > in your templates, or you need to adjust your template references. > > Second, I only included a suggested xsl:template for your submenus. > The rest is up to you! Go check out the XSL tutorials at zvon.org - > there would be a tonne more references that I'm sure ppl here would be > happy to provide you. > > hint: you will need to define a <xsl:template > match="MBTemplate:entries"> container > > > > > > > On 21/02/06, publicreg@xxxxxxxxxxxxxxxx <publicreg@xxxxxxxxxxxxxxxx> wrote: > > Hi, > > > > I'm trying to implement a Blogger-style templating system and would like > > to get some feedback on whether it's feasible or not. While it's true that > > an XSLT file itself would be a template, some of my users are not keen on > > learning it and I'm trying to strike some middle ground here. > > > > The premise is this: > > > > The template file would be an extension of XHTML and looks like this: > > > > ------------------------- > > > > <?xml version="1.0" encoding="utf-8" ?> > > <html xmlns:MBTemplate="http://www.mydomain.com/Template"> > > <head> > > <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> > > <title>Document Title</title> > > </head> > > <body> > > <div id="menucontainer"> > > </div> > > <div id="container"> > > <div id="sidebar"> > > <h2 id="welcomenote">Welcome to My Site</h2> > > <MBTemplate:submenus> > > <MBTemplate:submenu> > > <MBTemplate:submenuheader /> > > <ul class="submenu"> > > <li><MBTemplate:submenulink /></li> > > </ul> > > </MBTemplate:submenu> > > </MBTemplate:submenus> > > </div> > > <div id="main"> > > <MBTemplate:sitetitle /> > > <MBTemplate:entries> > > <MBTemplate:entry> > > <div class="avatar"> > > <p><MBTemplate:userlink><MBTemplate:avatar /><br > > /><MBTemplate:username /><br /><MBTemplate:msisdn > > /></MBTemplate:userlink></p> > > </div> > > <div class="entry"> > > <div class="entry2"> > > <div class="entry-header"><MBTemplate:entry-title /></div> > > <div class="entry-contents"> > > <MBTemplate:entry-contents /> > > </div> > > <div > > class="entry-footer"><p><MBTemplate:entry-meta><MBTemplate:entry-date > > /></MBTemplate:entry-meta></p></div> > > </div> > > </div> > > </MBTemplate:entry> > > </MBTemplate:entries> > > </div> > > </div> > > </body> > > </html> > > > > > > ------------------------- > > > > Then, the data input would come in the form of an XML document that looks > > like this: > > > > -------------------------- > > > > <?xml version="1.0" encoding="utf-8" ?> > > <MBData:Output xmlns:MBData="http://www.mydomain.com/MyData"> > > <MBData:Submenu> > > <MBData:Item href="http://www.google.com">Link name</MBData:Item> > > </MBData:Submenu> > > <MBData:Entries> > > <MBData:Entry> > > <MBData:Title>My Title</MBData:Title> > > <MBData:Content>My article</MBData:Content> > > <MBData:PostedData>11th Jan 2005</MBData:PostedData> > > </MBData:Entry> > > </MBData:Entries> > > </MBData:Output> > > > > -------------------------- > > > > Finally, I'd have an XSLT file that uses the 2 files and then translates > > into XHTML code that I can output to the browser. > > > > How, folks? Do you think it's feasible to do this? Would appreciate any > > pointers in the right direction. > > > > Thanks! > > Wong
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Implementing an Blogger-s, Terence Kearns | Thread | [xsl] XSLT pass through, publicreg |
Re: [xsl] Implementing an Blogger-s, Terence Kearns | Date | [xsl] problem in xsl:value-of, Jeff Sese |
Month |