Ross Gardler wrote: > Patrick Ohly wrote: > >Ross Gardler wrote: > >> > >> With respect to your question, if disable-toc is not present in the > >> skinconf.xml file is it not set and so your test against it will > >> always resolve to true: > >> > >> <xsl:if test="$disable-toc != 'true' and $toc-max-depth > 0"> > > > >If that expression was true for an unset disable-toc, I would get the > >TOC as desired, but it seems to evaluate to false although > >"$disable-toc" is not equal to 'true'. > > Ah, yes, of course. Rushing with my replies again. One would expect > the above to work if the node was empty. > > >> The way around this is to add the disable-toc parameter to the default > >skinconf. > > > >I agree that this make sense, but I don't like to force users to update > >their skinconf to preserve the behavior they are used to. > > Quite right. Again I was rushing. We have an override mechanism for > forrest.properties, but not for skinconf.xml. In other words we have a > default.forrest.properties, but not a default.skinconf.xml.
Yes we do have a default skinconf. The "skinconf.xml" Cocoon pipeline adds default values for all parameters. See main/webapp/sitemap.xmap and for example skins/pelt/skinconf.xsl For new parameters in the past, we have added them as optional to the skinconf DTD and give it a new version number and doctype Public Identifier. And new examples to main/fresh-site/ -David > >I found that > >by adding string() like this I get the desired behavior: > > <xsl:variable name="disable-toc" > > select="string(//skinconfig/pdf/disable-toc)"/> > > Good to know. Thanks. > > Ross
