This function of VML is very useful. templates, as the name suggests, can reduce the amount of code written and improve code readability. When you understand a VML template, you can understand it like CSS in HTML. It is a defined shape. You can directly declare the type attribute next time you use it. Take a look at the following example:
<V: shapetype id = "arrowUP" coordsize = "6 6"> <! -- Triangle up -->
<V: path v = "m l, x e"/>
</V: shapetype>
<V: shapetype id = "arrowDown" coordsize = "6 6"> <! -- Triangle down -->
<V: path v = "m l, 6, 6, 0, 0 x e"/>
</V: shapetype>
After defining the template above, you can directly call it later:
<V: shape type = "# arrowUP" style = "position: relative; width: 50; height: 50"/>
<V: shape type = "# arrowDown" style = "position: relative; width: 50; height: 50"/>
<V: shape fillcolor = blue type = "# arrowDown" style = "position: relative; width: 80; height: 80"/>
I wonder if you have noticed that "," is not mandatory in VML. You can use coordsize = "6, 6" or coordsize = "6 6". The effect is the same.