Как вызвать js из svg?
Подключайте скрипт не в html-, а в svg-файле: <svg width="100" height="100"
  xmlns="http://www.w3.org/2000/svg"
  xmlns:xlink="http://www.w3.org/1999/xlink">

  <script xlink:href="svg.js" />

  <rect fill="#080" width="100" height="100" onclick="msg()" />

</svg>
Чтобы расширить область видимости из объекта, как в вашем примере, необходимо указать что вызываемая функция находится вне SVG.

       style="opacity:1;fill:#008000;stroke-width:0.26458332"
       id="rect1"
       width="10"
       height="10"
       x="2"
       y="272"
       ry="0.015"
       onclick="top.msg()" />
А так все тоже самое