<constr> (Constraint)

This element is used to specify size, position of nodes, text values, and layout dependencies between nodes in a layout definition.

example:
<constrLst>
	<constr type="w" for="ch" forName="node1" refType="w" refForName=""/>
	<constr type="h" for="ch" forName="node1" refType="w" refFor="ch" refForName="node1" op="equ" fact="0.6"/>
	<constr type="w" for="ch" forName="transition1" refType="w" refFor="ch" refForName="node1" op="equ" fact="0.1"/>
	<constr type="primFontSz" for="ch" forName="node1" refForName="" op="equ" val="100"/>
</constrLst>

In this example we can see constraints being defined for the width and height along with the primary font size for a layout node referenced by node1. The width for a transition is also specified. ]

Parent Elements

<constrLst>5.9.2.9)

Child Elements

Subclause

<extLst> (Extension List)

§5.9.2.13

Attributes

Description

<fact> (Factor)

Factor used in a reference constraint or a rule in order to modify a referenced value by the factor defined.

<constr type="w" for="ch" forName="transition1" refType="w" refFor="ch" refForName="node1" op="equ" fact="0.1"/>

In this example, the width for transition1 is being defined as one-tenth the width of node1. ]

The possible values for this attribute are defined by the XML Schema double datatype.

<for> (For)

Specifies the axis of layout nodes to apply a constraint or rule to.

<constr type="w" for="ch" forName="transition1" refType="w" refFor="ch" refForName="node1" op="equ" fact="0.1"/>

In this example, the @for attribute is specifying that node1 is a child node to the current layout node. ]

The possible values for this attribute are defined by the ST_ConstraintRelationship simple type (§5.9.7.20).

<forName> (For Name)

Specifies the name of the layout node to apply a constraint or rule to.

<constr type="w" for="ch" forName="transition1" refType="w" refFor="ch" refForName="node1" op="equ" fact="0.1"/>

In this example, @forName is specifying the layout node named transition1 for its reference. ]

The possible values for this attribute are defined by the XML Schema string datatype.

<op> (Operator)

The operator constraint used to evaluate the condition.

<constr type="w" for="ch" forName="transition1" refType="w" refFor="ch" refForName="node1" op="equ" fact="0.1"/>

In this example, @op is specifying an equality defined between the two referencing values. ]

The possible values for this attribute are defined by the ST_BoolOperator simple type (§5.9.7.10).

<ptType> (Data Point Type)

Specifies the type of data point to select.

The possible values for this attribute are defined by the ST_ElementType simple type (§5.9.7.25).

<refFor> (Reference For)

The for value of the referenced constraint.

<constr type="w" for="ch" forName="transition1" refType="w" refFor="ch" refForName="node1" op="equ" fact="0.1"/>

In this example, @refFor is specifying the reference constraint is a child of the current layout node. ]

The possible values for this attribute are defined by the ST_ConstraintRelationship simple type (§5.9.7.20).

<refForName> (Reference For Name)

The name of the layout node referenced by a reference constraint.

<constr type="w" for="ch" forName="transition1" refType="w" refFor="ch" refForName="node1" op="equ" fact="0.1"/>

In this example, @refForName is specifying the layout node named node1 for its reference. ]

The possible values for this attribute are defined by the XML Schema string datatype.

<refPtType> (Reference Point Type)

The point type used int he referenced constraint.

The possible values for this attribute are defined by the ST_ElementType simple type (§5.9.7.25).

<refType> (Reference Type)

Specifies the type of a reference constraint.

<constr type="w" for="ch" forName="transition1" refType="w" refFor="ch" refForName="node1" op="equ" fact="0.1"/>

In this example, @refType is specifying referencing the width attribute of node1. ]

The possible values for this attribute are defined by the ST_ConstraintType simple type (§5.9.7.21).

<type> (Constraint Type)

Specifies the constraint to apply to this layout node.

<constr type="w" for="ch" forName="transition1" refType="w" refFor="ch" refForName="node1" op="equ" fact="0.1"/>

In this example, @type is specifying the width attribute of transition1. ]

The possible values for this attribute are defined by the ST_ConstraintType simple type (§5.9.7.21).

<val> (Value)

Specifies an absolute value instead of reference another constraint.

<constr type="w" for="ch" forName="transition1" val="10"/>

In this example, @val is specifying the absolute value of the width of transition1. ]

The possible values for this attribute are defined by the XML Schema double datatype.

The following XML Schema fragment defines the contents of this element:

<complexType name="CT_Constraint">
	<sequence>
	<element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
	</sequence>
	<attributeGroup ref="AG_ConstraintAttributes"/>
	<attributeGroup ref="AG_ConstraintRefAttributes"/>
	<attribute name="op" type="ST_BoolOperator" use="optional" default="none"/>
	<attribute name="val" type="xsd:double" use="optional" default="0"/>
	<attribute name="fact" type="xsd:double" use="optional" default="1"/>
</complexType>