Então aqui está o que eu tenho:
<path class="..." onmousemove="show_tooltip(event,'very long text
\\\n I would like to linebreak')" onmouseout="hide_tooltip()" d="..."/>
<rect class="tooltip_bg" id="tooltip_bg" ... />
<text class="tooltip" id="tooltip" ...>Tooltip</text>
<script>
<![CDATA[
function show_tooltip(e,text) {
var tt = document.getElementById('tooltip');
var bg = document.getElementById('tooltip_bg');
// set position ...
tt.textContent=text;
bg.setAttribute('width',tt.getBBox().width+10);
bg.setAttribute('height',tt.getBBox().height+6);
// set visibility ...
}
...
Agora, meu texto de dica de ferramenta muito longo não tem quebra de linha, mesmo que eu use alert (); isso me mostra que o texto realmente TEM duas linhas. (Porém, ele contém um "\", como faço para removê-lo?)
Não consigo fazer o CDATA funcionar em lugar nenhum.