(Un?)Fortunately, I just put the "<p><dtml-var id></p>" in there as an example to simplify the explanation of my problem, and (I think) I have a valid reason for wanting to do this. (I'd love some feedback on this. If you decide I'm nuts anyway, I'll probably have agree with you ;-) )
Sure. One of the most frustrating things about these lists is when you put up a trivial example of a complex problem and then you get responses to the example, not the issue itself.
LOL :)
My "real" code therefore looks like:
<snip>
html = "<div>" + HTML(text, level=2, header=0) + "</div>"
*) sidenote: the <div> is in there to make sure that the XML DOM parser doesn't puke because it doesn't have a root/enclosing tag ;-)
Why not:
(in Python) def get_text(self): return self._htmltxt
(in DTML) <div> <dtml-var "get_text()" fmt="structured-text"> </div>
Ah I recognise this. That is exactly what I had before I painted myself into a corner. ;-) It unfortunately doesn't solve the problem. I want the content manager to never see the complexity of the rendered HTML, but to work in structured text. Thus the content manager would write: ---------------------------------------------- First header para 1. blablabla para 2. blablabla Second header para 3. blablabla ---------------------------------------------- This renders to the following HTML (invisible to the content manager) ---------------------------------------------- <h2>First header</h2> <p> para 1. blablabla </p> <p> para 2. blablabla </p> <h2>Second header</h2> <p> para 3. blablabla </p> ---------------------------------------------- The content manager now adds ((through a click-and-drool interface) a floating box to paragraph 2 (created by Zope id="box263") and a floating box to paragraph 3 (id="box544") Now I'd like my DTML to look like: ---------------------------------------------- <h2>First header</h2> <p> para 1. blablabla </p> <p><dtml-var box263> para 2. blablabla </p> <h2>Second header</h2> <p><dtml-var box554> para 3. blablabla </p> ---------------------------------------------- The problem is finding the paragraphs, for which I don't think there is a elegant solution when doing fmt="structured-text" (at least, not easily). JavaScript + DOM would work, but I don't want to make the site dependent on client-side JavaScript (that still wouldn't do me any good, because the DTML wouldn't work client side either). Using DOM and python, this is simple, though.... I think the right answer to the question is: "Don't try to put floating boxes in structured-text content!", which boils down to "Don't do it that way!" :-) This answer may, however, upset my web-designer to the point of physical violence :-/ So I'm still looking for a way to render the resulting DTML the "hard" way. If I succeed, I'll write it up in a tutorial, I promise 8-| Hope you're not too annoyed with me yet ;-) Greetings, Michiel