logo       

Re: MarkupBuilder combining attributes and content: msg#00142

lang.groovy.user

Subject: Re: MarkupBuilder combining attributes and content

Ken Pelletier wrote:
How can I use MarkupBuilder to generate html elements that have both attributes and content?

I can't seem to locate any examples anywhere, but it's such an essential case I'm sure it's supported.

Eg: <td class="foo">some content here</td>

mb = new MarkupBuilder()
mb.td(class:"foo") // yields <td class='foo' />
mb.td("some content here") // yields <td>some content here</td>
mb.td(class:"foo", "some content here") // yields <td class='foo' />

I believe there was an example on the wiki here http://wiki.codehaus.org/groovy/TreeBasedSyntax but that page seems to have disappeared today - at least it's been inaccessible to me since this afternoon.

Though that's a very common use case, unfortunately, MarkupBuilder is quite limited and cannot generate such simple tags.
You'll have to use StreamingMarkupBuilder which you can build from Groovy sources (since in the last build, due to a build problem, this class hasn't been included in the distribution).
To know how it works, you should have a look at DocGenerator.groovy in the source distribution, there are some good examples of its usage.

--
Guillaume Laforge
http://glaforge.free.fr/weblog




<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise