<svg xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg">
<xhtml:router-outlet></router-outlet>
</svg>
@Component({ selector: 'svg:g[app-layout-hexagonal-grid]'
}I don't think this is possible. The problem is that the SVG-tree is XML, and it doesn't support unknown elements. that means if you put the ngOutlet in there, the SVG tree will not render anymore.
If you put the XHTML modifier on the node, it will wrap that node inside a foreignObject. that means that whatever the router puts in there, will be in the HTML subspace, not in the SVG render tree.
The only solution that comes to mind, is to create your own router, using an SVG native element.
I really hope that I'm wrong here because the idea is intriguing, and if it works, it would enable some nice tricks. Charting pops to mind, but some generative art and other fun exercises become possible also!
For some more deeper information, by friend Tero wrote a nice article on SVG in angular
Regards
Sander