> On Sat, Apr 24, 2004 at 04:51:35PM -0700, Christopher Oliver wrote: > > <foo> > > <jx:attribute name="bar" namespace="http://www.bar.org" > value="${bar}"/> > > <jx:if test="{$fubaz > 1}"> > > <jx:attribute name="xyz" value="100"/> > > </jx:if> > > <jx:forEach var="item" items="${items}"/> > > <jx:attribute name="${item.name}" value="${item.value}"/> > > </jx:forEach> > > ... > > </foo> > > > > The start element event for <foo> must be buffered until > all potential > > jx:attribute tags have been processed. Since these are within > > conditional blocks and loops determining when that is the > case in an > > efficient way isn't easy
Leszek Gawron wrote: > After a longer thinking it really does not look so easy. As > it is not known if > an element has dynamic attributes or not the start element on > the output would > have to be postponed for EVERY elemeny till we reach > startElement for a child > node a endElement for current one. ... or a characters() event containing non-whitespace. Whitespace characters() between an element an jx:attribute should not be output at all.
