Prenons l'exemple suivant et décortiquons le rapidement. La première ligne, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 51 48"> est composée d'un attribut xmlns que nous laisserons toujours sur cette valeur et d'un attribut bien plus intéressant : viewBox.
Le viewbox d'un SVG correspond à la taille de la "zone de dessin". Toutes les valeurs de positions relatives dans les éléments et traces du SVG le seront par rapport à elle, et c'est aussi la taille par défaut de notre SVG.
La ligne suivante, sans surprise, est le titre de notre SVG.
Enfin, nous arrivons à la première (et seule) ligne de dessin de notre SVG : <path id="star" fill="#000" stroke="#FFF" d="m25,1 6,17h18l-14,11 5,17-15-10-15,10 5-17-14-11h18z"/>.
La balise path doit être vu comme une sorte de dessin à main levée sur la surface de dessin, où nous allons relier chaque point spécifié par des lignes droites. Il existe de nombreuses balises permettant de dessiner différentes formes en SVG, mais path est la plus souple et complexe d'entre elles.
Si nous décomposons cette balise, nous retrouvons un attribut id, une couleur de remplissage (fill) et une couleur de trait (stroke), ainsi qu'un énigmatique attribut d. C'est cet attribut d qui contient les différentes opérations à faire pour obtenir la forme.
m25,1 par exemple signifie "déplace le pinceau 25px vers le bas et 1 pixel vers la droite, sans dessiner".
l-14,11 en revanche signifie "trace un trait vers un point situé 14 pixels vers le haut (-14) et 11 pixels vers la droite".
Enfin, notez le z à la toute fin des instructions, qui correspond à "fin du dessin, clos le trace et remplis la forme".
Pour plus d'informations ainsi qu'une liste précise de toutes les opérations, je vous conseille la lecture de la page sobrement intitulée du MDN. Je vous encourage à essayer de comprendre toutes les instructions de cette forme, et pourquoi pas la simplifier !