Per-Olof, Ah. You put the closing </xsp:logic before the <xsp:attribute>.
So the full snippet should be: <xsp:page> <page> <xsp:logic> if (!request.isUserInRole("root")) { </xsp:logic> <!-- Note this --> <xsp:attribute name="security-error">Not authorized</xsp:attribute> <xsp:logic> } else { </xsp:logic> <content> ... </content> <xsp:logic> } </xsp:logic> </page> </xsp:page> Ugh. Will try. Per > Hi per and Michael, > > I had to end the logic tag to make theese sort of things work: > <xsp:page> > <page> > <xsp:logic> > if (!request.isUserInRole("root")) > { > </xsp:logic> <!-- Note this --> > > <xsp:attribute name="security-error">Not authorized</xsp:attribute> > > <xsp:logic> > } > </xsp:logic> > > </page> > </xsp:page> > > As I figured it´s like <% in asp. You´re in different "modes" when in > logic element and outside. > > Attached is a real-life example (with for loops, not if statements, but > the behaviour is probably the same) that is used from a flowscript to > generate a "datePicker" calendar. > > > Regards, > Per-Olof Noren > > > > < > >> > >> <page> > >> <xsp:logic> > >> if (!request.isUserInRole("root")) > >> { > >> <xsp:attribute name="security-error">Not > authorized</xsp:attribute> > >> } > >> else > >> { > >> <xsp:content> > >> > >> <!-- Build the page if authorized --> > >> <content /> > >> > >> </xsp:content> > >> } > >> </xsp:logic> > >> </page> > >> > >> </xsp:page> > > > Per Kreipke wrote: > > Michael, > > > > Thanks for the tip. However, your tip makes the problem even more > > interesting. > > > > When the 'if' statement is true, the <xsp:attribute> does appear on the > > toplevel element and the XML is valid (no more array bounds exception). > > > > But when the 'if' statement is false, the <page> element isn't > the top most, > > it's emitted after the <content> element. E.g. <page> is a > sibling of the > > <content> element and the XML has _two_ top level elements, > also invalid. > > > > Per > > > > > >>-----Original Message----- > >>From: Enke, Michael [mailto:[EMAIL PROTECTED]] > >>Sent: Tuesday, September 10, 2002 2:58 AM > >>To: [EMAIL PROTECTED] > >>Subject: Re: XSP bug: can get generate() to skip elements using java > >>'if's > >> > >> > >>Per Kreipke wrote: > >> > >>>The following XSP snippet will cause an > >> > >>ArrayIndexOutOfBoundsException in > >> > >>>Cocoon 2.0.3 because the start of the outer element is never > >> > >>emitted to the > >> > >>>SAX stream. > >>> > >>>XSP Snippet: > >> > >> > >>I would always write it as: > >> > >> <xsp:page ....> > >> > >> <page> > >> <xsp:logic> > >> if (!request.isUserInRole("root")) > >> { > >> <xsp:attribute name="security-error">Not > authorized</xsp:attribute> > >> } > >> else > >> { > >> <xsp:content> > >> > >> <!-- Build the page if authorized --> > >> <content /> > >> > >> </xsp:content> > >> } > >> </xsp:logic> > >> </page> > >> > >> </xsp:page> > >> > >>note: </xsp:logic> replaced by <xsp:content> > >>and <xsp:logic> replaced by </xsp:content> > >> > >>Michael > >> > >>--------------------------------------------------------------------- > >>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>For additional commands, email: [EMAIL PROTECTED] > >> > >> > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, email: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]