Icon
Document Interop Initiative

Table of Contents

1. Office ActiveX Supplemental Information. 1

1.1. Elements. 1

1.1.1. font (Standard COM Font Object). 1

1.1.2. ocx (ActiveX Control Data). 2

1.1.3. ocxPr (Object Property). 4

1.1.4. picture (Standard COM Picture Object). 5

1.2. Simple Types. 6

1.2.1. ST_Persistence (Control Persistence Attribute Contents). 6

1.2.2. ST_String (String Type). 7

 

 

1. Office ActiveX Supplemental Information

The subordinate subclauses specify additional semantics written into the Embedded Control Persistence Part ("[ISO/IEC-29500-1] §15.2.9") used to implement ActiveX controls in a Word document.

1.1. Elements

1.1.1. font (Standard COM Font Object)

This element specifies the details of StdFont object (classid CLSID_StdFont, interface IFont) embedded in the property bag (IPersistPropertyBag interface) of an ActiveX control.

[Example: Consider a font object named "FontPropName" embedded in an ActiveX control.

<ax:ocx ....>
    <ax:ocxPr name="FontPropName">
        <ax:font ax:persistence="persistPropertyBag">
            <ax:ocxPr ax:name="Name" ax:value="MS Shell Dlg"/>
            <ax:ocxPr ax:name="Size" ax:value="12"/>
            <ax:ocxPr ax:name="Charset" ax:value="0"/>
            <ax:ocxPr ax:name="Weight" ax:value="400"/>
            <ax:ocxPr ax:name="Underline" ax:value="0"/>
            <ax:ocxPr ax:name="Italic" ax:value="0"/>
            <ax:ocxPr ax:name="Strikethrough" ax:value="0"/>
        </ax:font>
    </ax:ocxPr>   
</ax:ocx>

In this example, the persistence attribute specifies that various properties of the embedded font object are stored using the method persistPropertyBag. The property bag is stored as a collection of child ocxPr elements. Each ocxPr element contains a single property. end example]

More information about the details of StdFont object can be found in the Office Forms Binary File Format Structure Specification ("[MS-OFORMS] Section 2.4.9").

Parent Elements

ocxPr (§1.1.3 )

 

Child Elements

Subclause

ocxPr (Object Property)

§1.1.3

 

Attributes

Description

persistence (Font Object Property Persistence Style (optional))

Specifies the method used to store properties of the parent element.

 

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

id ()

 

Namespace: .../officeDocument/2006/relationships

Specifies the relationship ID of the relationship to the font object. The specified relationship shall be of type http://schemas.microsoft.com/office/2006/relationships/activeXControlBinary.

 

The target of the relationship points to the internal location where the persisted font data is stored using the IPersistStream, IPersistStreamInit, or IPersistStorage interface, as indicated by the persistence attribute or as determined by the default interface query sequence.

 

The possible values for this attribute are defined by the ST_RelationshipId simple type ("[ISO/IEC-29500-1] §22.8.2.1").

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

<complexType name="CT_Font">

   <sequence>

       <element name="ocxPr" type="CT_OcxPr" minOccurs="0" maxOccurs="unbounded"/>

   </sequence>

   <attribute name="persistence" type="ST_Persistence"/>

   <attribute ref="r:id" use="optional"/>

</complexType>

1.1.2. ocx (ActiveX Control Data)

This element specifies various information of an ActiveX control embedded in a document.

[Note: This element does not contain placement or application extended properties. The properties stored in this element are those that the ActiveX control can use regardless of container. end note]

[Example: Consider an ActiveX control embedded in a WordprocessingML. Various pieces of information about that control will be specified using the following WordprocessingML:

<ax:ocx ax:classid="{FDD0D569-5B7A-4E3D-820C-5C487DB7796C}" ax:persistence="persistPropertyBag" …>
    <ax:ocxPr ax:name="_Version" ax:value="65536"/>
    <ax:ocxPr ax:name="_ExtentX" ax:value="2646"/>
    <ax:ocxPr ax:name="_ExtentY" ax:value="1323"/>
    <ax:ocxPr ax:name="_StockProps" ax:value="0"/>
    …
</ax:ocx>

Here, the classid attribute holds the class ID of the ActiveX control, {FDD0D569-5B7A-4E3D-820C-5C487DB7796C}.  In this example, the persistence attribute indicates the persistPropertyBag method for persisting various properties of the control. The property bag is stored as a collection of child ocxPr elements. Each ocxPr element contains a single property. end example]

Child Elements

Subclause

ocxPr (Object Property)

§1.1.3

 

Attributes

Description

classid (ActiveX Control CLSID)

Specifies the GUID of the ClassID of the ActiveX control.

 

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

license (ActiveX Control License)

Specifies the license string for the ActiveX control. This string is retrieved from the IClassFactory2 interface of the control.

 

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

persistence (ActiveX Control Property Persistence Style)

Specifies the explicit method used to persist the properties of the ActiveX control.

 

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

id (ActiveX Control Binary Data)

 

Namespace: .../officeDocument/2006/relationships

Specifies the relationship ID, the target of which points to the internal location where the binary data part representing various properties of the ActiveX control is persisted using the persistStorage, persistStream, or persistStreamInit method, as indicated by the persistence attribute of the parent ocx element.

 

The specified relationship shall be of type http://schemas.microsoft.com/office/2006/relationships/activeXControlBinary.

 

[Note: The use of this attribute is mutually exclusive with the use of ocxPr child elements. end note]

 

The possible values for this attribute are defined by the ST_RelationshipId simple type ("[ISO/IEC-29500-1] §22.8.2.1").

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

<complexType name="CT_Ocx">

   <sequence>

       <element name="ocxPr" type="CT_OcxPr" minOccurs="0" maxOccurs="unbounded"/>

   </sequence>

   <attribute name="classid" type="ST_String" use="required"/>

   <attribute name="license" type="ST_String"/>

   <attribute ref="r:id" use="optional"/>

   <attribute name="persistence" use="required" type="ST_Persistence"/>

</complexType>

1.1.3. ocxPr (Object Property)

This element specifies the name and value of a persisting property of the parent object persisted using the method persistPropertyBag. Property values are converted into VT_BSTR using the Windows OLE API VariantChangeType() before getting stored in this element.

Parent Elements

font (§1.1.1 ); ocx (§1.1.2 )

 

Child Elements

Subclause

font (Standard COM Font Object)

§1.1.1

picture (Standard COM Picture Object)

§1.1.4

 

Attributes

Description

name (ActiveX Control Property Name)

Specifies the name of the property. This name shall be unique in its collection.

 

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

value (ActiveX Control Property Value)

Specifies the value of the property. The actual property values are converted into VT_BSTR using the Windows OLE API VariantChangeType() before getting stored in this element. And corresponding string is stored as the value.

 

This is attribute is only permitted for ocxPr elements (§1.1.3) without a font (§1.1.1) or picture sub-element (§1.1.4).

 

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

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

<complexType name="CT_OcxPr">

   <sequence>

       <choice>

          <element name="font" type="CT_Font" maxOccurs="1" minOccurs="0"/>

          <element name="picture" type="CT_Picture" maxOccurs="1" minOccurs="0"/>

       </choice>

   </sequence>

   <attribute name="name" type="ST_String" use="required"/>

   <attribute name="value" type="ST_String"/>

</complexType>

1.1.4. picture (Standard COM Picture Object)

This element specifies the properties of the StdPicture (classid CLSID_StdPicture, interface IPicture) object embedded in the property bag (IPersistPropertyBag interface) of an ActiveX control.

 [Example: Consider an embedded picture object named "PicturePropName" embedded in an ActiveX control.

<ax:ocx ...>
    <ax:ocxPr ax:name="PicturePropName">
        <ax:picture r:id="rId1"/>
    </ax:ocxPr>
</ax:ocx>

This example specifies that binary data representing the picture object can be found at the internal location pointed to by the relation rID1, and the data is persisted using an IPersist-derived interface. end example]

More information about the details of the StdPicture object can be found in the Office Forms Binary File Format Structure Specification ("[MS-OFORMS] Section 2.4.5").

Parent Elements

ocxPr (§1.1.3 )

 

Attributes

Description

id ()

 

Namespace: .../officeDocument/2006/relationships

Specifies the relationship ID of the relationship to the picture. The specified relationship shall be of type http://schemas.microsoft.com/office/2006/relationships/activeXControlBinary.

 

The target of the relationship point to the internal location where the persisted picture data is stored using the IPersist interface.

 

The possible values for this attribute are defined by the ST_RelationshipId simple type ("[ISO/IEC-29500-1] §22.8.2.1").

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

<complexType name="CT_Picture">

   <attribute ref="r:id"/>

</complexType>

1.2. Simple Types

This is the complete list of simple types in the http://schemas.microsoft.com/office/2006/activeX namespace.

1.2.1. ST_Persistence (Control Persistence Attribute Contents)

This simple type specifies the persistence method to persist an ActiveX control.

This simple type's contents are a restriction of the ST_String datatype (§1.2.2).

The following are possible enumeration values for this type:

Enumeration Value

Description

persistPropertyBag (Control uses IPersistPropertyBag)

Specifies that the data is stored using the IPersistPropertyBag interface.

 

If this value is used, then a child ocxPr element shall appear within the parent element.

persistStorage (Control uses IPersistStorage)

Specifies that the data is stored using the IPersistStorage interface.

 

If this value is used, then the parent element's id attribute shall reference a relationship storing the necessary binary data.

persistStream (Control uses IPersistStream)

Specifies that the data is stored using the IPersistStream interface.

 

If this value is used, then the parent element's id attribute shall reference a relationship storing the necessary binary data.

persistStreamInit (Control uses IPersistStreamInit)

Specifies that the data is stored using the IPersistStreamInit interface.

 

If this value is used, then the parent element's id attribute shall reference a relationship storing the necessary binary data.

 

Referenced By

font@persistence (§1.1.1 ); ocx@persistence (§1.1.2 )

The following XML Schema fragment defines the contents of this simple type:

<simpleType name="ST_Persistence">

   <restriction base="ST_String">

       <enumeration value="persistPropertyBag"/>

       <enumeration value="persistStream"/>

       <enumeration value="persistStreamInit"/>

       <enumeration value="persistStorage"/>

   </restriction>

</simpleType>

1.2.2. ST_String (String Type)

This simple type specifies that its contents will contain a string. The contents of this string are interpreted based on the context of the parent XML element.

[Example: Consider the following WordprocessingML fragment:

<w:pPr>

  <w:pStyle w:val="heading1" />

</w:pPr>

The value of the val attribute is the ID of the associated paragraph style's styleId. However, consider the following fragment:

<w:sdtPr>

  <w:alias w:val="SDT Title Example" />

  ...

</w:sdtPr>

In this case, the decimal number in the val attribute is the caption of the parent-structured document tag. In each case, the value is of type ST_String, and therefore must be interpreted in the context of the parent element. end example]

This simple type's contents are a restriction of the XML Schema string datatype.

Referenced By

ocx@classid (§1.1.2 ); ocx@license (§1.1.2 ); ocxPr@name (§1.1.3 ); ocxPr@value (§1.1.3 ); ST_Persistence (§1.2.1 )

The following XML Schema fragment defines the contents of this simple type:

<simpleType name="ST_String">

   <restriction base="xsd:string"/>

</simpleType>