Итак, вот что я имею:
<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 ...
}
...
Теперь у моего очень длинного текста всплывающей подсказки нет строки, даже если я использую alert(); он показывает мне, что текст фактически имеет две строки. (Он содержит "\", хотя, как я могу удалить его, кстати?) 
Я не могу заставить CDATA работать где угодно.