This section describes the declarative syntax used by rules that define drawing shapes.<h2>Syntax</h2>
<pre>
<i>shape-rule:</i>
<i>shape-clause</i>
<i>shape-clause</i> <i>shape-rule</i>
<i>shape-clause:</i>
<i>assign-tag</i>
<i>reset-tag</i>
<i>resetAll-tag</i>
</pre>
<h2><assign> tag</h2>
Assigns values to one or more shape properties.
<pre>
<i>assign-tag</i>:
<assign>
<i>shape-property</i><sub>many</sub>
</assign>
</pre>
All shape properties belonging to the <q ref="core.svg:ZDrawing">ZDrawing</q> aspect are supported.
The shape properties can be simple scalars (string, numeric, or boolean values), compound objects,
shape parts array, or shape symbols.
<pre>
<i>shape-property</i>:
<i>scalar-shape-property</i>
<i>compound-shape-property</i>
<i>shape-parts-property</i>
<i>shape-symbol-property</i>
</pre>
<h2><reset> tag</h2>
Resets one or more shape properties to their default values.
<pre>
<i>reset-tag</i>:
<reset>
<i>shape-property</i><sub>many</sub>
</reset>
</pre>
<h2><resetAll> tag</h2>
Resets all shape properties to their default values.
<pre>
<i>resetAll-tag</i>:
<resetAll/>
</pre>
<h2>Example</h2>
<pre>
<extend rule="defineShape">
<constraint>element isa gml2:Tabstrip</constraint>
<comments>solid rectangular block with a tabstrip symbol at the top</comments>
<assign>
<aspect>svg:ZBlock</aspect>
<fillColor>#336699</fillColor>
<strokeColor>#91A1B1</strokeColor>
<layoutMode>SVG_LAYOUT_PLOW</layoutMode>
<resizeMode>SVG_FREE_SIZE</resizeMode>
<framePadding top="10.75" right="0.75" bottom="0.75" left="0.75"/>
<frameParts>
<path wireframe="true" d="JOIN(['M',@x1,@y1+10,' h30 v-10 h-20Z M',
@x1+30,@y1+10,'h25 v-10 h-18 l-7,7Z M',@x1+55,@y1+10,
'h25 v-10 h-18 l-7,7Z'],' ')" fill=""/>
<rect wireframe="true" x="@x1" y="@y1+10" width="@w" height="@h-10"
fill="none" stroke="currentColor"/>
</frameParts>
</assign>
</extend>
</pre>(c) SAP AG 2003-2006. All rights reserved.