SVG
SVG copied to clipboard
Add support to html in foreignObject
Description
The foreignObject tags are rendered as empty boxes when the content is an html fragment
Example data
The following sample has been generated using MermaidJs
<svg id="mermaid-1600326373315" width="313.25"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" height="456.2531433105469" viewBox="0 0 313.25 456.2531433105469">
<style>#mermaid-1600326373315{font-family:"trebuchet ms",verdana,arial;font-size:16px;fill:#333;}#mermaid-1600326373315 .error-icon{fill:#552222;}#mermaid-1600326373315 .error-text{fill:#552222;stroke:#552222;}#mermaid-1600326373315 .edge-thickness-normal{stroke-width:2px;}#mermaid-1600326373315 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-1600326373315 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-1600326373315 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-1600326373315 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-1600326373315 .marker{fill:#333333;}#mermaid-1600326373315 .marker.cross{stroke:#333333;}#mermaid-1600326373315 svg{font-family:"trebuchet ms",verdana,arial;font-size:16px;}#mermaid-1600326373315 .label{font-family:"trebuchet ms",verdana,arial;color:#333;}#mermaid-1600326373315 .label text{fill:#333;}#mermaid-1600326373315 .node rect,#mermaid-1600326373315 .node circle,#mermaid-1600326373315 .node ellipse,#mermaid-1600326373315 .node polygon,#mermaid-1600326373315 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-1600326373315 .node .label{text-align:center;}#mermaid-1600326373315 .node.clickable{cursor:pointer;}#mermaid-1600326373315 .arrowheadPath{fill:#333333;}#mermaid-1600326373315 .edgePath .path{stroke:#333333;stroke-width:1.5px;}#mermaid-1600326373315 .flowchart-link{stroke:#333333;fill:none;}#mermaid-1600326373315 .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-1600326373315 .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-1600326373315 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-1600326373315 .cluster text{fill:#333;}#mermaid-1600326373315 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial;font-size:12px;background:hsl(80,100%,96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-1600326373315:root{--mermaid-font-family:"trebuchet ms",verdana,arial;}#mermaid-1600326373315 flowchart{fill:apa;}</style>
<g>
<g class="output">
<g class="clusters"></g>
<g class="edgePaths">
<g class="edgePath LS-A LE-B" id="L-A-B" style="opacity: 1;">
<path class="path" d="M161.03125,47L161.03125,81.5L161.03125,116" marker-end="url(#arrowhead623)" style="fill:none"></path>
<defs>
<marker id="arrowhead623" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto">
<path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path>
</marker>
</defs>
</g>
<g class="edgePath LS-B LE-C" id="L-B-C" style="opacity: 1;">
<path class="path" d="M161.03125,155L161.03125,180L161.53125,205.50000152587884" marker-end="url(#arrowhead624)" style="fill:none"></path>
<defs>
<marker id="arrowhead624" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto">
<path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path>
</marker>
</defs>
</g>
<g class="edgePath LS-C LE-D" id="L-C-D" style="opacity: 1;">
<path class="path" d="M125.22298890445946,304.4448654303384L42.6328125,374.7531280517578L42.6328125,409.2531280517578" marker-end="url(#arrowhead625)" style="fill:none"></path>
<defs>
<marker id="arrowhead625" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto">
<path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path>
</marker>
</defs>
</g>
<g class="edgePath LS-C LE-E" id="L-C-E" style="opacity: 1;">
<path class="path" d="M161.53125000000003,340.7531234741211L161.03125,374.7531280517578L161.03125,409.2531280517578" marker-end="url(#arrowhead626)" style="fill:none"></path>
<defs>
<marker id="arrowhead626" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto">
<path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path>
</marker>
</defs>
</g>
<g class="edgePath LS-C LE-F" id="L-C-F" style="opacity: 1;">
<path class="path" d="M197.2009889290666,305.08338454505446L275.0234375,374.7531280517578L275.0234375,409.2531280517578" marker-end="url(#arrowhead627)" style="fill:none"></path>
<defs>
<marker id="arrowhead627" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto">
<path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path>
</marker>
</defs>
</g>
</g>
<g class="edgeLabels">
<g class="edgeLabel" transform="translate(161.03125,81.5)" style="opacity: 1;">
<g transform="translate(-38.96875,-9.5)" class="label">
<rect rx="0" ry="0" width="77.9375" height="19"></rect>
<foreignObject width="77.9375" height="19">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span id="L-L-A-B" class="edgeLabel L-LS-A' L-LE-B">Get money</span>
</div>
</foreignObject>
</g>
</g>
<g class="edgeLabel" transform="" style="opacity: 1;">
<g transform="translate(0,0)" class="label">
<rect rx="0" ry="0" width="0" height="0"></rect>
<foreignObject width="0" height="0">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span id="L-L-B-C" class="edgeLabel L-LS-B' L-LE-C"></span>
</div>
</foreignObject>
</g>
</g>
<g class="edgeLabel" transform="translate(42.6328125,374.7531280517578)" style="opacity: 1;">
<g transform="translate(-14.125,-9.5)" class="label">
<rect rx="0" ry="0" width="28.25" height="19"></rect>
<foreignObject width="28.25" height="19">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span id="L-L-C-D" class="edgeLabel L-LS-C' L-LE-D">One</span>
</div>
</foreignObject>
</g>
</g>
<g class="edgeLabel" transform="translate(161.03125,374.7531280517578)" style="opacity: 1;">
<g transform="translate(-13.7890625,-9.5)" class="label">
<rect rx="0" ry="0" width="27.578125" height="19"></rect>
<foreignObject width="27.578125" height="19">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span id="L-L-C-E" class="edgeLabel L-LS-C' L-LE-E">Two</span>
</div>
</foreignObject>
</g>
</g>
<g class="edgeLabel" transform="translate(275.0234375,374.7531280517578)" style="opacity: 1;">
<g transform="translate(-20.8515625,-9.5)" class="label">
<rect rx="0" ry="0" width="41.703125" height="19"></rect>
<foreignObject width="41.703125" height="19">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<span id="L-L-C-F" class="edgeLabel L-LS-C' L-LE-F">Three</span>
</div>
</foreignObject>
</g>
</g>
</g>
<g class="nodes">
<g class="node default" id="A" transform="translate(161.03125,27.5)" style="opacity: 1;">
<rect rx="0" ry="0" x="-45.0390625" y="-19.5" width="90.078125" height="39" class="label-container"></rect>
<g class="label" transform="translate(0,0)">
<g transform="translate(-35.0390625,-9.5)">
<foreignObject width="70.078125" height="19">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Christmas</div>
</foreignObject>
</g>
</g>
</g>
<g class="node default" id="B" transform="translate(161.03125,135.5)" style="opacity: 1;">
<rect rx="5" ry="5" x="-53.6015625" y="-19.5" width="107.203125" height="39" class="label-container"></rect>
<g class="label" transform="translate(0,0)">
<g transform="translate(-43.6015625,-9.5)">
<foreignObject width="87.203125" height="19">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Go shopping</div>
</foreignObject>
</g>
</g>
</g>
<g class="node default" id="C" transform="translate(161.03125,272.6265640258789)" style="opacity: 1;">
<polygon points="67.6265625,0 135.253125,-67.6265625 67.6265625,-135.253125 0,-67.6265625" transform="translate(-67.6265625,67.6265625)" class="label-container"></polygon>
<g class="label" transform="translate(0,0)">
<g transform="translate(-45.640625,-9.5)">
<foreignObject width="91.28125" height="19">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Let me think</div>
</foreignObject>
</g>
</g>
</g>
<g class="node default" id="D" transform="translate(42.6328125,428.7531280517578)" style="opacity: 1;">
<rect rx="0" ry="0" x="-34.6328125" y="-19.5" width="69.265625" height="39" class="label-container"></rect>
<g class="label" transform="translate(0,0)">
<g transform="translate(-24.6328125,-9.5)">
<foreignObject width="49.265625" height="19">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Laptop</div>
</foreignObject>
</g>
</g>
</g>
<g class="node default" id="E" transform="translate(161.03125,428.7531280517578)" style="opacity: 1;">
<rect rx="0" ry="0" x="-33.765625" y="-19.5" width="67.53125" height="39" class="label-container"></rect>
<g class="label" transform="translate(0,0)">
<g transform="translate(-23.765625,-9.5)">
<foreignObject width="47.53125" height="19">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">iPhone</div>
</foreignObject>
</g>
</g>
</g>
<g class="node default" id="F" transform="translate(275.0234375,428.7531280517578)" style="opacity: 1;">
<rect rx="0" ry="0" x="-30.2265625" y="-19.5" width="60.453125" height="39" class="label-container"></rect>
<g class="label" transform="translate(0,0)">
<g transform="translate(-20.2265625,-9.5)">
<foreignObject width="40.453125" height="19">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">
<i class="fa fa-car"></i> Car</div>
</foreignObject>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
Expected rendering

Actual rendering

Used Versions
Version 3.1.1 (NET Framework)
Hi ! Are there news about this ?