# Structure of SVG Markmap will generate an SVG with the following structure: ```tsx ( {links.map((link) => ( ))} {nodes.map((node) => (
{node.htmlContent}
))}
) ``` Each `` is a link between a node and its parent. The `` element cannot be grouped with the rest part of the node because when nested the `` element is not smooth and looks aliased. Each node is grouped in a `` element, except for the link to its parent. Inside this `` element, we have a line below the content (``), the circle to connect to its children (``), and the HTML content wrapped in a ``. Note that the `depth` and `path` of each node is set as data attributes of their links (``) and node groups (``), so that we can easily select the desired nodes and override styles. ## Overriding Styles ```css /* Use a solid color */ .markmap-link, .markmap-node > line, .markmap-node > circle { stroke: #333; } /* Highlight level 2 */ .markmap-link[data-depth="2"], .markmap-node[data-depth="2"] > line, .markmap-node[data-depth="2"] > circle { stroke: red; } ```