-
Type:
New Feature
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: ODF 1.3
-
Component/s: Part 3 (Schema) [1.2: 1], Table
-
Labels:None
-
Environment:
This is an enhancement, described in terms of changes to OpenDocument-v1.2
-
Proposal:Hide
Updated 30 April 2018 to reflect proposal up for TC approval:
Regina Henschel's proposal for the text (changed does not to shall not in the second sentence)
In section
16.27 Data Styles
http://docs.oasis-open.org/office/v1.2/cs01/OpenDocument-v1.2-cs01-part1.html#__RefHeading__1416346_253892949
add:New element:
<number:fill-character>
The content of this element specifies a Unicode character that is displayed repeatedly at the position where the element occurs. The character specified is repeated as many times as possible, but the total resulting string shall not exceed the given cell content area.
Fill characters may not fill all the available space in a cell. The distribution of the remaining space is implementation dependent.
To chapter "16.27.1 General" add the sentence:
Data styles shall specify at most one <number:fill-character> element.
Michael Stahl's schema prooposal:
--- Downloads/OpenDocument-v1.2-os-schema.rng 2018-04-06 13:21:47.000000000 +0200 +++ OFFICE-3765.rng-v2 2018-04-26 16:29:04.895877657 +0200 @@ -12608,20 +12608,20 @@ <define name="number-number-style"> <element name="number:number-style"> <ref name="common-data-style-attlist"/> <optional> <ref name="style-text-properties"/> </optional> <optional> - <ref name="number-text"/> + <ref name="number-text-with-fillchar"/> </optional> <optional> <ref name="any-number"/> <optional> - <ref name="number-text"/> + <ref name="number-text-with-fillchar"/> </optional> </optional> <zeroOrMore> <ref name="style-map"/> </zeroOrMore> </element> </define> @@ -12712,15 +12712,15 @@ <element name="number:currency-style"> <ref name="common-data-style-attlist"/> <ref name="common-auto-reorder-attlist"/> <optional> <ref name="style-text-properties"/> </optional> <optional> - <ref name="number-text"/> + <ref name="number-text-with-fillchar"/> </optional> <optional> <choice> <group> <ref name="number-and-text"/> <optional> <ref name="currency-symbol-and-text"/> @@ -12738,21 +12738,21 @@ <ref name="style-map"/> </zeroOrMore> </element> </define> <define name="currency-symbol-and-text"> <ref name="number-currency-symbol"/> <optional> - <ref name="number-text"/> + <ref name="number-text-with-fillchar"/> </optional> </define> <define name="number-and-text"> <ref name="number-number"/> <optional> - <ref name="number-text"/> + <ref name="number-text-with-fillchar"/> </optional> </define> <define name="number-currency-symbol"> <element name="number:currency-symbol"> <ref name="number-currency-symbol-attlist"/> <text/> </element> @@ -12782,15 +12782,15 @@ <define name="number-percentage-style"> <element name="number:percentage-style"> <ref name="common-data-style-attlist"/> <optional> <ref name="style-text-properties"/> </optional> <optional> - <ref name="number-text"/> + <ref name="number-text-with-fillchar"/> </optional> <optional> <ref name="number-and-text"/> </optional> <zeroOrMore> <ref name="style-map"/> </zeroOrMore> @@ -12801,20 +12801,20 @@ <ref name="common-data-style-attlist"/> <ref name="common-auto-reorder-attlist"/> <ref name="common-format-source-attlist"/> <optional> <ref name="style-text-properties"/> </optional> <optional> - <ref name="number-text"/> + <ref name="number-text-with-fillchar"/> </optional> <oneOrMore> <ref name="any-date"/> <optional> - <ref name="number-text"/> + <ref name="number-text-with-fillchar"/> </optional> </oneOrMore> <zeroOrMore> <ref name="style-map"/> </zeroOrMore> </element> </define> @@ -12958,20 +12958,20 @@ <ref name="number-time-style-attlist"/> <ref name="common-data-style-attlist"/> <ref name="common-format-source-attlist"/> <optional> <ref name="style-text-properties"/> </optional> <optional> - <ref name="number-text"/> + <ref name="number-text-with-fillchar"/> </optional> <oneOrMore> <ref name="any-time"/> <optional> - <ref name="number-text"/> + <ref name="number-text-with-fillchar"/> </optional> </oneOrMore> <zeroOrMore> <ref name="style-map"/> </zeroOrMore> </element> </define> @@ -13078,27 +13078,43 @@ <define name="number-text-style"> <element name="number:text-style"> <ref name="common-data-style-attlist"/> <optional> <ref name="style-text-properties"/> </optional> <optional> - <ref name="number-text"/> + <ref name="number-text-with-fillchar"/> </optional> <zeroOrMore> <ref name="number-text-content"/> <optional> - <ref name="number-text"/> + <ref name="number-text-with-fillchar"/> </optional> </zeroOrMore> <zeroOrMore> <ref name="style-map"/> </zeroOrMore> </element> </define> + <define name="number-text-with-fillchar"> + <optional> + <ref name="number-text"/> + </optional> + <optional> + <ref name="number-fill-character"/> + <optional> + <ref name="number-text"/> + </optional> + </optional> + </define> + <define name="number-fill-character"> + <element name="number:fill-character"> + <text/> + </element> + </define> <define name="number-text"> <element name="number:text"> <text/> </element> </define> <define name="number-text-content"> <element name="number:text-content">
ShowUpdated 30 April 2018 to reflect proposal up for TC approval: Regina Henschel's proposal for the text (changed does not to shall not in the second sentence) In section 16.27 Data Styles http://docs.oasis-open.org/office/v1.2/cs01/OpenDocument-v1.2-cs01-part1.html#__RefHeading__1416346_253892949 add: New element: <number:fill-character> The content of this element specifies a Unicode character that is displayed repeatedly at the position where the element occurs. The character specified is repeated as many times as possible, but the total resulting string shall not exceed the given cell content area. Fill characters may not fill all the available space in a cell. The distribution of the remaining space is implementation dependent. To chapter "16.27.1 General" add the sentence: Data styles shall specify at most one <number:fill-character> element. Michael Stahl's schema prooposal: --- Downloads/OpenDocument-v1.2-os-schema.rng 2018-04-06 13:21:47.000000000 +0200 +++ OFFICE-3765.rng-v2 2018-04-26 16:29:04.895877657 +0200 @@ -12608,20 +12608,20 @@ <define name="number-number-style"> <element name="number:number-style"> <ref name="common-data-style-attlist"/> <optional> <ref name="style-text-properties"/> </optional> <optional> - <ref name="number-text"/> + <ref name="number-text-with-fillchar"/> </optional> <optional> <ref name="any-number"/> <optional> - <ref name="number-text"/> + <ref name="number-text-with-fillchar"/> </optional> </optional> <zeroOrMore> <ref name="style-map"/> </zeroOrMore> </element> </define> @@ -12712,15 +12712,15 @@ <element name="number:currency-style"> <ref name="common-data-style-attlist"/> <ref name="common-auto-reorder-attlist"/> <optional> <ref name="style-text-properties"/> </optional> <optional> - <ref name="number-text"/> + <ref name="number-text-with-fillchar"/> </optional> <optional> <choice> <group> <ref name="number-and-text"/> <optional> <ref name="currency-symbol-and-text"/> @@ -12738,21 +12738,21 @@ <ref name="style-map"/> </zeroOrMore> </element> </define> <define name="currency-symbol-and-text"> <ref name="number-currency-symbol"/> <optional> - <ref name="number-text"/> + <ref name="number-text-with-fillchar"/> </optional> </define> <define name="number-and-text"> <ref name="number-number"/> <optional> - <ref name="number-text"/> + <ref name="number-text-with-fillchar"/> </optional> </define> <define name="number-currency-symbol"> <element name="number:currency-symbol"> <ref name="number-currency-symbol-attlist"/> <text/> </element> @@ -12782,15 +12782,15 @@ <define name="number-percentage-style"> <element name="number:percentage-style"> <ref name="common-data-style-attlist"/> <optional> <ref name="style-text-properties"/> </optional> <optional> - <ref name="number-text"/> + <ref name="number-text-with-fillchar"/> </optional> <optional> <ref name="number-and-text"/> </optional> <zeroOrMore> <ref name="style-map"/> </zeroOrMore> @@ -12801,20 +12801,20 @@ <ref name="common-data-style-attlist"/> <ref name="common-auto-reorder-attlist"/> <ref name="common-format-source-attlist"/> <optional> <ref name="style-text-properties"/> </optional> <optional> - <ref name="number-text"/> + <ref name="number-text-with-fillchar"/> </optional> <oneOrMore> <ref name="any-date"/> <optional> - <ref name="number-text"/> + <ref name="number-text-with-fillchar"/> </optional> </oneOrMore> <zeroOrMore> <ref name="style-map"/> </zeroOrMore> </element> </define> @@ -12958,20 +12958,20 @@ <ref name="number-time-style-attlist"/> <ref name="common-data-style-attlist"/> <ref name="common-format-source-attlist"/> <optional> <ref name="style-text-properties"/> </optional> <optional> - <ref name="number-text"/> + <ref name="number-text-with-fillchar"/> </optional> <oneOrMore> <ref name="any-time"/> <optional> - <ref name="number-text"/> + <ref name="number-text-with-fillchar"/> </optional> </oneOrMore> <zeroOrMore> <ref name="style-map"/> </zeroOrMore> </element> </define> @@ -13078,27 +13078,43 @@ <define name="number-text-style"> <element name="number:text-style"> <ref name="common-data-style-attlist"/> <optional> <ref name="style-text-properties"/> </optional> <optional> - <ref name="number-text"/> + <ref name="number-text-with-fillchar"/> </optional> <zeroOrMore> <ref name="number-text-content"/> <optional> - <ref name="number-text"/> + <ref name="number-text-with-fillchar"/> </optional> </zeroOrMore> <zeroOrMore> <ref name="style-map"/> </zeroOrMore> </element> </define> + <define name="number-text-with-fillchar"> + <optional> + <ref name="number-text"/> + </optional> + <optional> + <ref name="number-fill-character"/> + <optional> + <ref name="number-text"/> + </optional> + </optional> + </define> + <define name="number-fill-character"> + <element name="number:fill-character"> + <text/> + </element> + </define> <define name="number-text"> <element name="number:text"> <text/> </element> </define> <define name="number-text-content"> <element name="number:text-content">
Improve interoperability with other spreadsheet implementations, by enabling round-trip of fill characters (used to fill empty space in cells, not occupied e.g. by the actual cell content)
Remark: Differences are not obvious in normal use. To see it, use a very wide fill character, e.g. U+2E3A, a "two-em dash".
The alignment of the resulting string is not determined by this attribute and it is different between applications. LibreOffice takes the total resulting string and aligns it according left/center/right alignment setting of the cell. In cell alignment setting "justify" it is left aligned. The behavior in Excel is not consistence. Sometimes it acts like LibreOffice, but sometimes it aligns the display string right in all cell alignment cases and aligns the inserted character string part left/center/right in the remaining space.
The description has to fit to all writing directions. "left" or "right" might not be correct. I think, that the previously suggested wording " at the position where it occurs" is sufficient.
The schema, which Michael suggested in his mail https://lists.oasis-open.org/archives/office/201804/msg00054.html, looks good to me, but it needs a restriction to one element in the text.
Therefore my suggestions:
===================================
<number:fill-character>
The content of this element specifies a Unicode character that is displayed repeatedly at the position where the element occurs. The character specified is repeated as much times as possible, but so that the total resulting string does not exceed the given cell content area.
The distribution of the remaining space is implementation dependent.
—
To chapter "16.27.1 General" add the sentence:
Data styles shall specify at most one <number:fill-character> element.
updated proposal based on new schema proposal based on Regina's use case of fill-character in the middle of text.
As per TC on 30 April 2018
Applied in OpenDocument-v1.3-wd08-part3-documents.odt and OpenDocument-schema-v1.3-wd05.rng
adding a complete schema diff based on the interleave idea in the previous comment to Proposal