OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

office message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Proposal for linking form controls to table cells


Dear TC members,

please find attached a proposal for linking form controls to table cells.

Best regards

Michael


Form Content

Context of the file format change

A usual feature in office productivity applications is to link form controls, which are part of e.g. a spreadsheet document, to certain table cells in this document, to couple the content of the cell with the content of the form control.

In the scope of this change proposal, we suggest a way how this feature could be reflected in the Open Document File Format.

Linked Cell

All input-type controls (i.e. controls where the user can enter data, as opposed to controls which can merely be used to the display data) are extended with an attribute describing with which table cell they should be coupled.

<define name="form-text-attlist" combine="interleave">

<ref name="common-linked-cell"/>

</define>

<define name="form-textarea-attlist" combine="interleave">

<ref name="common-linked-cell"/>

</define>

<define name="form-password-attlist" combine="interleave">

<ref name="common-linked-cell"/>

</define>

<define name="form-file-attlist" combine="interleave">

<ref name="common-linked-cell"/>

</define>

<define name="form-formatted-text-attlist" combine="interleave">

<ref name="common-linked-cell"/>

</define>

<define name="form-numeric-control-attlist" combine="interleave">

<ref name="common-linked-cell"/>

</define>

<define name="form-date-attlist" combine="interleave">

<ref name="common-linked-cell"/>

</define>

<define name="form-time-attlist" combine="interleave">

<ref name="common-linked-cell"/>

</define>

<define name="form-combobox-attlist" combine="interleave">

<ref name="common-linked-cell"/>

</define>

<define name="form-listbox-attlist" combine="interleave">

<ref name="common-linked-cell"/>

</define>

<define name="form-checkbox-attlist" combine="interleave">

<ref name="common-linked-cell"/>

</define>

<define name="form-radio-attlist" combine="interleave">

<ref name="common-linked-cell"/>

</define>

<define name="form-value-range-attlist" combine="interleave">

<ref name="common-linked-cell"/>

</define>

The form:linked-cell attribute specifies a table cell which the form control content should be linked to. Linking means that at every point in time, the cell value and the control value are equal (less possible type incompatibilities).

The table cell to link the control to can be specified as cellAddress, or as plain string denoting a named cell range. If, in the latter case, the named range contains more than one cell, the cell in the first row and first column of the range is linked to the form control.

<define name="common-linked-cell" combine="choice">

<optional>

<attribute name="form:linked-cell">

<choice>

<ref name="cellAddress"/>

<ref name="string"/>

</choice>

</attribute>

</optional>

</define>

List Linkage Type

The form:list-linkage-type attribute is used to specify in which way list boxes should exchange their current value with a linked table cell.

<define name="form-listbox-attlist" combine="interleave">

<ref name="list-linkage-type"/>

</define>

The value of this attribute can be one of the following:

  • selection: The list box should exchange the text of the selected item with the linked cell. That is, if an item in the list box is selected, the text of this item is propagated to the linked cell. Also, if a text is entered into the linked cell, the list box should select the item whose text equals the cell text, or deselect all items if no such item exists.

  • selection-indexes: The list box should exchange the 1-based index of the selected item with the linked cell. That is, if an item in the list box is selected, the index of this item within the list is propagated to the linked cell. Also, if the value in the linked cell changes, the list box should select the item with the index described by the cell value, or deselect all items if the cell value cannot be interpreted as integer value, or does not specify a valid list index.

<define name="list-linkage-type" combine="interleave">

<optional>

<attribute name="form:list-linkage-type">

<choice>

<value>selection</value>

<value>selection-indexes</value>

</choice >

</attribute>

</optional>

</define>

Source Cell Range

<form:listbox> and <form:combobx> elements are extended with an attribute which specifies which cell range should be used to fill their item list.

<define name="form-combobox-attlist" combine="interleave">

<ref name="common-source-cell-range"/>

</define>

<define name="form-listbox-attlist" combine="interleave">

<ref name="common-source-cell-range"/>

</define>

The form:source-cell-range attribute specifies a rectangular cell range, whose content should be synchronized with the form controls item list. The form control is expected to react on changes in the cell range, that is, it should actively adjust its item list if the cell range's content changes.

The source cell range can be specified as cellRangeAddress, or as plain string denoting the name of a named cell range (see chapter ). In the latter case, if the range contains more columns than the form control can handle, the left-most columns of the cell range are to be used.

<define name="common-source-cell-range" combine="choice">

<optional>

<attribute name="form:source-cell-range">

<choice>

<ref name="cellRangeAddress"/>

<ref name="string"/>

</choice>

</attribute>

</optional>

</define>



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]