[Table of Contents] [docx version]
VML Reference Material - VML
This element defines the path that makes up the shape. This is done through a string that contains a rich set of pen movement commands. This element also describes the limo-stretch point, inscribed textbox rectangle locations and connection site locations. The limo-stretch definition and the formulas element (§6.1.2.6) allow greater designer control of how the path scales. They allow, for example, definition of a true rounded corner rectangle where the corners remain circular even though the rectangle is scaled anisotropically.
Parent Elements |
arc (§6.1.2.1); background (§2.2.1); curve (§6.1.2.3); group (§6.1.2.7); image (§6.1.2.10); line (§6.1.2.12); object (§2.3.3.19); oval (§6.1.2.13); pict (§2.3.3.21); pict (§2.9.23); polyline (§6.1.2.15); rect (§6.1.2.16); roundrect (§6.1.2.17); shape (§6.1.2.19); shapetype (§6.1.2.20) |
Attributes |
Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
arrowok (Arrowhead Display Toggle) |
Specifies whether arrowheads are allowed to be displayed. This attribute overrides all other arrowhead attributes in the parent or the stroke element (§6.1.2.21). Default is false.
[Example:
<v:shape style="width:50;height:50"> <v:stroke endarrow="block"/> <v:path arrowok="true" v="m 0,0 l 1000,0 1000,1000 e"/> </v:shape>
end example]
The possible values for this attribute are defined by the ST_TrueFalse simple type (§6.1.3.14). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
connectangles (Connection Point Connect Angles)
Namespace: urn:schemas-microsoft-com:office:office |
Specifies the angle at which curves connect to a shape's connection points. The connection angles are defined by a string consisting of angle values delimited by commas. Default is no value.
[Example: Connections are made along the horizontal and vertical axes:
<v:path ... o:connectangles="0,90,180,270" ... > </v:path>
end example]
The possible values for this attribute are defined by the XML Schema string datatype. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
connectlocs (Connection Points)
Namespace: urn:schemas-microsoft-com:office:office |
Specifies the location of connection points on a path. The connection points are defined by a string consisting of pairs of x and y values, delimited by commas. This is used if connecttype is custom. Default is no value.
[Example: Connection points exist at the midpoints of the sides of the square:
<v:path ... v="m 0,0 l 100,0 100,100 0,100 x e" o:connectlocs="50,0;100,50;50,100;0,50" ... > </v:path>
end example]
The possible values for this attribute are defined by the XML Schema string datatype. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
connecttype (Connection Point Type)
Namespace: urn:schemas-microsoft-com:office:office |
Specifies the type of connection points used for attaching shapes to other shapes. Default is none. If set to custom, connectlocs is used. Allowed values are:
[Example:
<v:path ... o:connecttype="custom" o:connectlocs="50,0;100,50;50,100;0,50" ... > </v:path>
end example]
The possible values for this attribute are defined by the ST_ConnectType simple type (§6.2.3.7). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
extrusionok (Extrusion Toggle)
Namespace: urn:schemas-microsoft-com:office:office |
Specifies whether an extrusion is allowed to be displayed. This attribute overrides all other extrusion attributes in the parent or the extrusion element (§6.2.2.10). Default is true.
[Example:
<v:rect fillcolor="lime" style="width:50;height:50"> <v:extrusion on="true"/> <v:path o:extrusionok="false"/> </v:rect>
<v:path o:extrusionok="false"/> <v:path o:extrusionok="true"/>
end example]
The possible values for this attribute are defined by the ST_TrueFalse simple type (§6.2.3.23). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
fillok (Shape Fill Toggle) |
Specifies whether a fill is allowed to be displayed. This attribute overrides all other fill attributes in the parent or fill element (§6.1.2.5). Default is true.
[Example:
<v:shape style="width:50;height:50" fillcolor="red"> <v:path fillok="false" v="m 0,0 l 0,1000, 1000,1000, 1000,0 x e"/> </v:shape>
end example]
The possible values for this attribute are defined by the ST_TrueFalse simple type (§6.1.3.14). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
gradientshapeok (Gradient Shape Toggle) |
Specifies whether a gradient path will be made up of repeated concentric paths. Default is false.
If true, a gradient fill can be produced by repeated drawing of scaled versions of the path - this must only be set if it is possible to scale the path in such a way that a fill is always contained in the original path. This controls the interpretation of the type="gradientradial" attribute of the fill element (§6.1.2.5).
[Example: In the first case, the radial gradient is aligned irrespective of the shape's path:
<v:shape style="width:50;height:50;rotation:45" path="m 0,0 l 0,1000, 1000,1000, 1000,0 x e"> <v:path gradientshapeok="false"/> <v:fill type="gradientradial" color="red" color2="blue"/> </v:shape>
gradientshapeok="false" gradientshapeok="true"
end example]
The possible values for this attribute are defined by the ST_TrueFalse simple type (§6.1.3.14). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
id (Unique Identifier) |
Specifies a unique identifier that can be used to reference a VML object.
Default is no value.
[Example:
<v:shape ... id="myShape" ... > </v:shape>
end example]
The possible values for this attribute are defined by the XML Schema string datatype. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
insetpenok (Inset Stroke From Path Flag) |
Specifies whether the stroke may be inset from the path. If this is false, it overrides the insetpen attribute and prevents the stroke from being inset.
[Example: The stroke is not inset:
<v:shape ... insetpen="true"> <v:path ... insetpenok="false"/> </v:shape>
end example]
The possible values for this attribute are defined by the ST_TrueFalse simple type (§6.1.3.14). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
limo (Limo Stretch Point) |
Specifies a stretch point on the shape's edge that defines where and how a shape is allowed to be stretched by a user in a graphical editor. Default is "0,0".
[Example:
<v:line from="20pt,20pt" to="100pt,20pt"> <v:path limo="60pt,20pt"/> </v:line>
end example]
The possible values for this attribute are defined by the XML Schema string datatype. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shadowok (Shadow Toggle) |
Specifies whether a shadow is allowed to be displayed. This attribute overrides all other shadow attributes in the parent or the shadow element (§6.1.2.18). Default is true.
[Example: The shape has no shadow:
<v:shape style="width:50;height:50"> <v:path v="m 0,0 l 0,1000, 1000,1000, 1000,0 x e" shadowok="false"/> <v:shadow on="true"/> </v:shape>
end example]
The possible values for this attribute are defined by the ST_TrueFalse simple type (§6.1.3.14). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
strokeok (Stroke Toggle) |
Specifies whether a stroke will be displayed. This attribute overrides all other stroke attributes in the parent or the stroke element (§6.1.2.21). Default is true.
[Example: The shape's red stroke is not shown:
<v:shape style="width:50;height:50" fillcolor="blue" strokecolor="red"> <v:path v="m 0,0 l 0,1000, 1000,1000, 1000,0 x e" strokeok="false"/> </v:shape>
end example]
The possible values for this attribute are defined by the ST_TrueFalse simple type (§6.1.3.14). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
textboxrect (Text Box Bounding Box) |
Specifies one or more text boxes inside a shape. Default is the same as the geometry's bounding box.
A textbox is defined by one or more sets of numbers specifying (in order) the left, top, right, and bottom points of the rectangle. Multiple sets are delimited by a semicolon. The default value is the same dimension value as the containing rectangle. If more than one textbox is defined, the comma-delimited quadruple sets that define each textbox are separated by semicolons. Normally textboxes come in sets of 1, 2, 3, or 6 rectangles on a shape. The textboxrect dimensions clip any text that extends beyond its region.
[Example: The textbox is 25% down from the top and the exclamation point is clipped:
<v:shape style="width:60;height:50"> <v:path v="m 0,0 l 0,1000, 1000,1000, 1000,0 x e" textboxrect="0,250,850,1000"/> </v:shape>
end example]
The possible values for this attribute are defined by the XML Schema string datatype. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
textpathok (Text Path Toggle) |
Specifies whether a text path will be displayed. Default is false.
If true, this indicates that the path is an appropriate warping path for the textpath element (§6.1.2.23). Otherwise, the textpath element must be ignored.
[Example: The defined textpath is ignored:
<v:curve from="50,100" to="400,100" <v:path textpathok="false"/> <v:textpath on="false" style="font:normal normal normal 36pt Arial" string="textpath"/> </v:curve>
end example]
The possible values for this attribute are defined by the ST_TrueFalse simple type (§6.1.3.14). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
v (Path Definition) |
Specifies a string containing the commands that define the shape's path. This value consists of commands followed by zero or more parameters. Default is no value.
The following rules apply to path strings: • Commas or spaces delimit parameters for each command. Both "m 0,0" and "m0 0" are acceptable. • A parameter that is omitted using commas is treated as having a value of zero. Thus, "c 10,10,0,0,25,13" and "c 10,10,,,25,13" are equivalent. • Parameterized paths are also allowed. In this case, the shape must also have a formulas element (§6.1.2.6) with a list of formulas that are substituted into the path using the @ symbol followed by the number of the formula. The adj property of the shape contains the input parameters for these formulas. For example, "moveto @1@4". The evaluations of the formulas are substituted into the appropriate positions. Note that @ also serves as a delimiter.
The allowed commands are given below. An asterisk (*) indicates that the command is allowed to be repeated. For the qb command, the controlpoint parameter is also allowed to be repeated.
The possible values for this attribute are defined by the XML Schema string datatype. |
The following XML Schema fragment defines the contents of this element:
<complexType name="CT_Path">
<attributeGroup ref="AG_Id"/>
<attribute name="v" type="xsd:string" use="optional"/>
<attribute name="limo" type="xsd:string" use="optional"/>
<attribute name="textboxrect" type="xsd:string" use="optional"/>
<attribute name="fillok" type="ST_TrueFalse" use="optional"/>
<attribute name="strokeok" type="ST_TrueFalse" use="optional"/>
<attribute name="shadowok" type="ST_TrueFalse" use="optional"/>
<attribute name="arrowok" type="ST_TrueFalse" use="optional"/>
<attribute name="gradientshapeok" type="ST_TrueFalse" use="optional"/>
<attribute name="textpathok" type="ST_TrueFalse" use="optional"/>
<attribute name="insetpenok" type="ST_TrueFalse" use="optional"/>
<attribute ref="o:connecttype"/>
<attribute ref="o:connectlocs"/>
<attribute ref="o:connectangles"/>
<attribute ref="o:extrusionok"/>
</complexType>