2.1.1284 Part 1 Section 20.1.8, Shape, Fills, Effects and Line Properties

a.   The standard supplies no default values for the optional attributes.

Within this portion of the DrawingML framework, you will note that most attributes are denoted as optional, yet have no default explicitly called out in the XML schema fragment. The reason no default is specified for these attributes is that the default can come from any of three sources.

In general, when an optional attribute is not specified, it will incorporate the corresponding attribute value from one of the following sources if available. Not all of these levels will be used in every scenario.

Style link

Master shape (PresentationML only)

DrawingML hard coded default

This inheritance is done in multiple passes. Each level will fill in gaps not specified by previous levels.

The following elements are subjected to resolution. Unless otherwise noted, at any level, the absence of an element type in the target indicates the element is to come from the inheritance chain. For example, if the target property set has no fill element, it will inherit al l the fill properties in the next level of inheritance that has fill properties. When the elements are merged, all unspecified attributes and children of the element, will come from the first inheritance source with one specified.

Where attributes and elements are merged, the values in parentheses are used as the base defaults, with any applicable footnote number in angle brackets:

Fill (noFill) <1>

noFill

solidFill (color = schemeColor (bg1))

gradFill (gsList(black, white), shade(lin), flip = none, rotWithShape = true )

gsList <2>

tileRect <3>

Shade (lin) <1>

lin (ang=0, scaled=false )

path (path=shape)

fillToRect (l,r,t,b=50% )

blipFill (dpi=0, rotWithShape=true)

blip (compression=none)

srcRect <1>

fillMode (tile) <1>

tile (algn=tl, flip=none, sx=100%, sy=100%, tx=0, ty=0)

stretch

fillRect <3>

pattFill (prst=pct5)

bgClr(white)

fgClr(black)

ln (w=.75pt, cap=flat, cmpd=sng, algn=ctr)

fill(same as 1 ) <1>

dash (prstDash(solid))

custDash <2>

join (round)

miter(lim=800%)

headEnd (type=none, w=med, len=med)

tailEnd (type=none, w=med, len=med)

effect <2>

shape3D <2>

scene3D <2>

<1> Merging only occurs if elements are of the same type, or if element does not exist in the target property set.

<2> Merging only occurs as a whole. If the element does not exist, the secondary default is used in its entirety. Even a valid empty element will block the inheritance. For example, an empty effect list will not be merged with an inherited effect list.

<3> Simple type has schema defaults.