I've noticed this behavior as well. I have a theory on this... my theory is that once the body match in the master template takes effect, the match you have defined for in the body is not run. I'd call this a bug, myself.
Kevin On 11/9/05, FooManChu <[EMAIL PROTECTED]> wrote: > > I've recently been experimenting with KID templates and have been > having troubles. > > I like how the templates are setup from the quickstart which is also > documented here: > http://lesscode.org/projects/kid/wiki/LayoutTemplateRecipe > > Having some trouble adding my own match tempaltes to it though: > > ============ master.kid ============ > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> > <?python import sitetemplate ?> > <html xmlns="http://www.w3.org/1999/xhtml" > xmlns:py="http://purl.org/kid/ns#" py:extends="sitetemplate, > 'extras.kid'"> > > <head py:match="item.tag=='{http://www.w3.org/1999/xhtml}head'"> > <meta content="text/html; charset=UTF-8" http-equiv="content-type" > py:replace="''"/> > <title py:replace="''">Your title goes here</title> > <link py:strip="1" py:for="css in tg_css">${css.insert()}</link> > <link py:strip="1" py:for="js in tg_js_head">${js.insert()}</link> > <meta py:replace="item[:]"/> > </head> > > <body py:match="item.tag=='{http://www.w3.org/1999/xhtml}body'"> > <div py:strip="1" py:for="js in tg_js_bodytop">${js.insert()}</div> > <p align="center"><img > src="http://www.turbogears.org/tgheader.png"/></p> > > <div py:if="tg_flash" class="flash" py:content="tg_flash"></div> > <div py:replace="item[:]"/> > <div py:strip="1" py:for="js in > tg_js_bodybottom">${js.insert()}</div> > </body> > </html> > > ============ welcome.kid: ============ > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> > <html xmlns="http://www.w3.org/1999/xhtml" > xmlns:py="http://purl.org/kid/ns#" > py:extends="'master.kid'"> > > <head> > <meta content="text/html; charset=UTF-8" http-equiv="content-type" > py:replace="''"/> > <title>Welcome to TurboGears</title> > </head> > > <body> > <strong py:match="item.tag == 'b'" > py:content="item.text.upper()" /> > > <p>My Main page with <b>bold</b> text</p> > </body> > </html> > > ==================================== > > So both tempaltes are pretty much vanilla from the quickstart. My match > template (replaces <b> with <strong> tag and upercases the text) does > nothing. However if I remove xmlns="http://www.w3.org/1999/xhtml" from > the welcome.kid <html> tag, my match tag works fine but of course the > master template stops working. > > In an ideal world I would like the master template to inherit > (py:extends) from another template that defines a number of match and > named tempalte items, but I can't even get this basic functionality > working. Most likely this problem is filled with many other PEBCAKs > > Using TurboGears 0.9a from SVN > -Owen <>< > > -- Kevin Dangoor Author of the Zesty News RSS newsreader email: [EMAIL PROTECTED] company: http://www.BlazingThings.com blog: http://www.BlueSkyOnMars.com

