On Fri, Apr 01, 2011 at 12:52:41PM +0200, Vicent Mas wrote: > Hi, > > I'm trying to add a motd pane only to the main page of my dispatcher website. > Adding the following lines to my pelt-html.content.panel.xml makes the pane > to > appear in every index.html page of the website: > > <forrest:contract name="content-motd-page"> > <forrest:property name="content-motd-page"> > <motd> > <motd-option pattern="index.html"> > <motd-title></motd-title> > <motd-page location="alt">My message here.</motd-page> > </motd-option> > </motd> > </forrest:property> > </forrest:contract> > > I've changed the filename of the main page of my website following the > answer to question 2.13 of the FAQ: > > http://forrest.apache.org/docs_0_100/faq.html#defaultStartPage > > but I'd rather prefer to achieve my goal giving a proper path to the pattern > option of the motd contract. The problem is that the index.xml of the main > page is directly under the xdocs folder and I don't know how to be more > specific and tell forrest that I don't want the motd to be applied to the > index > pages of subdirectories under xdocs. Could someone tell me how to do it, > please?
The motd contract uses the XSLT contains() function to determine whether the motd is displayed for a given path. It does not appear that the contains() function is intelligent enough to do what you want. Also, a brief search shows a general lack of support for regular expressions in XSLT 1.0. Perhaps the motd could be injected via the Cocoon pipeline, where regular expressions are supported. -Brian