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: [OASIS Issue Tracker] (OFFICE-3765) [spreadsheet] Proposal: <number:fill-character> element for data styles


     [ https://issues.oasis-open.org/browse/OFFICE-3765?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Stahl updated OFFICE-3765:
----------------------------------

    Proposal: 
1. RATIONALE
   1.1 Use cases:
       For interoperability with other spreadsheet implementations an
       additional attribute is needed to specify a fill character used to fill
       space between grid border and content, or separating two parts of
       a displayed value string and filling in with the character.
   1.2 Alternatives considered:
       None.

2. REQUESTED CHANGES TO THE ODF STANDARD
   2.1 Text changes/additions:
       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:

       <number:fill-character>
       The content of this element specifies a Unicode character that is
       displayed repeatedly at the position where it occurs.

       There are three possible positions for this element, resulting in
       display strings as follows:
       * Start of style:
         * Right adjusts the display string and fills available space with the
           character specified from the left cell grid border up to the display
           string.
       * End of style:
         * Left adjusts the display string and fills available space with the
           character specified from the display string up to the right cell
           grid border.
       * Within style:
         * Splits the display string in two at the position where the element
           occurs, first part becomes left justified, second part becomes right
           justified, the available space in between is filled with the
           character specified.

       The <number:fill-character> element is usable within the following
       elements:

       [these lists are generated from the schema IIRC]
         <number:number-style> <number:currency-style> <number:percentage-style>
         <number:date-style> <number:time-style> <number:text-style>

       [and list the <number:fill-character> element as a child element of each of those]

       [for each of those elements add wording that the element can occur only once, for example:]

       This element can contain one instance of each of the following elements:
         [and add <number:fill-character>]

   2.2 Schema changes/additions:

       New element:
           <define name="number-fill-character">
               <element name="number:fill-character">
                   <text/>
               </element>
           </define>

       Add to each
           <element name="number:number-style">
           <element name="number:currency-style">
           <element name="number:percentage-style">
           <element name="number:date-style">
           <element name="number:time-style">
           <element name="number:text-style">

       this
           <optional>
               <ref name="number-fill-character"/>
           </optional>

--- Downloads/OpenDocument-v1.2-os-schema.rng	2018-04-06 13:21:47.000000000 +0200
+++ OFFICE-3765.rng	2018-04-24 13:17:16.627801213 +0200
@@ -12607,23 +12607,30 @@
 	</define>
 	<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"/>
-			</optional>
-			<optional>
-				<ref name="any-number"/>
+			<interleave>
 				<optional>
-					<ref name="number-text"/>
+					<ref name="number-fill-character"/>
 				</optional>
-			</optional>
+				<group>
+					<optional>
+						<ref name="number-text"/>
+					</optional>
+					<optional>
+						<ref name="any-number"/>
+						<optional>
+							<ref name="number-text"/>
+						</optional>
+					</optional>
+				</group>
+			</interleave>
 			<zeroOrMore>
 				<ref name="style-map"/>
 			</zeroOrMore>
 		</element>
 	</define>
 	<define name="any-number">
 		<choice>
@@ -12711,33 +12718,40 @@
 	<define name="number-currency-style">
 		<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"/>
-			</optional>
-			<optional>
-				<choice>
-					<group>
-						<ref name="number-and-text"/>
-						<optional>
-							<ref name="currency-symbol-and-text"/>
-						</optional>
-					</group>
-					<group>
-						<ref name="currency-symbol-and-text"/>
-						<optional>
-							<ref name="number-and-text"/>
-						</optional>
-					</group>
-				</choice>
-			</optional>
+			<interleave>
+				<optional>
+					<ref name="number-fill-character"/>
+				</optional>
+				<group>
+					<optional>
+						<ref name="number-text"/>
+					</optional>
+					<optional>
+						<choice>
+							<group>
+								<ref name="number-and-text"/>
+								<optional>
+									<ref name="currency-symbol-and-text"/>
+								</optional>
+							</group>
+							<group>
+								<ref name="currency-symbol-and-text"/>
+								<optional>
+									<ref name="number-and-text"/>
+								</optional>
+							</group>
+						</choice>
+					</optional>
+				</group>
+			</interleave>
 			<zeroOrMore>
 				<ref name="style-map"/>
 			</zeroOrMore>
 		</element>
 	</define>
 	<define name="currency-symbol-and-text">
 		<ref name="number-currency-symbol"/>
@@ -12781,42 +12795,56 @@
 	</define>
 	<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"/>
-			</optional>
-			<optional>
-				<ref name="number-and-text"/>
-			</optional>
+			<interleave>
+				<optional>
+					<ref name="number-fill-character"/>
+				</optional>
+				<group>
+					<optional>
+						<ref name="number-text"/>
+					</optional>
+					<optional>
+						<ref name="number-and-text"/>
+					</optional>
+				</group>
+			</interleave>
 			<zeroOrMore>
 				<ref name="style-map"/>
 			</zeroOrMore>
 		</element>
 	</define>
 	<define name="number-date-style">
 		<element name="number:date-style">
 			<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"/>
-			</optional>
-			<oneOrMore>
-				<ref name="any-date"/>
+			<interleave>
 				<optional>
-					<ref name="number-text"/>
+					<ref name="number-fill-character"/>
 				</optional>
-			</oneOrMore>
+				<group>
+					<optional>
+						<ref name="number-text"/>
+					</optional>
+					<oneOrMore>
+						<ref name="any-date"/>
+						<optional>
+							<ref name="number-text"/>
+						</optional>
+					</oneOrMore>
+				</group>
+			</interleave>
 			<zeroOrMore>
 				<ref name="style-map"/>
 			</zeroOrMore>
 		</element>
 	</define>
 	<define name="any-date">
 		<choice>
@@ -12957,23 +12985,30 @@
 		<element name="number:time-style">
 			<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"/>
-			</optional>
-			<oneOrMore>
-				<ref name="any-time"/>
+			<interleave>
 				<optional>
-					<ref name="number-text"/>
+					<ref name="number-fill-character"/>
 				</optional>
-			</oneOrMore>
+				<group>
+					<optional>
+						<ref name="number-text"/>
+					</optional>
+					<oneOrMore>
+						<ref name="any-time"/>
+						<optional>
+							<ref name="number-text"/>
+						</optional>
+					</oneOrMore>
+				</group>
+			</interleave>
 			<zeroOrMore>
 				<ref name="style-map"/>
 			</zeroOrMore>
 		</element>
 	</define>
 	<define name="any-time">
 		<choice>
@@ -13077,23 +13112,30 @@
 	</define>
 	<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"/>
-			</optional>
-			<zeroOrMore>
-				<ref name="number-text-content"/>
+			<interleave>
 				<optional>
-					<ref name="number-text"/>
+					<ref name="number-fill-character"/>
 				</optional>
-			</zeroOrMore>
+				<group>
+					<optional>
+						<ref name="number-text"/>
+					</optional>
+					<zeroOrMore>
+						<ref name="number-text-content"/>
+						<optional>
+							<ref name="number-text"/>
+						</optional>
+					</zeroOrMore>
+				</group>
+			</interleave>
 			<zeroOrMore>
 				<ref name="style-map"/>
 			</zeroOrMore>
 		</element>
 	</define>
 	<define name="number-text">
 		<element name="number:text">
@@ -13101,14 +13143,19 @@
 		</element>
 	</define>
 	<define name="number-text-content">
 		<element name="number:text-content">
 			<empty/>
 		</element>
 	</define>
+	<define name="number-fill-character">
+		<element name="number:fill-character">
+			<text/>
+		</element>
+	</define>
 	<define name="common-data-style-attlist">
 		<interleave>
 			<attribute name="style:name">
 				<ref name="styleName"/>
 			</attribute>
 			<optional>
 				<attribute name="style:display-name">




3. IMPACTS
   3.1 Conformance:
       A processor may ignore this element, for example if there is no cell
       grid available or in data processing.

   3.2 Backwards compatibility:
       This element was not available in previous versions and is optional.
       Existing ODF processors may ignore it.

   3.3 Accessibility impact:
       None.


  was:
1. RATIONALE
   1.1 Use cases:
       For interoperability with other spreadsheet implementations an
       additional attribute is needed to specify a fill character used to fill
       space between grid border and content, or separating two parts of
       a displayed value string and filling in with the character.
   1.2 Alternatives considered:
       None.

2. REQUESTED CHANGES TO THE ODF STANDARD
   2.1 Text changes/additions:
       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:

       <number:fill-character>
       The content of this element specifies a Unicode character that is
       displayed repeatedly at the position where it occurs.

       There are three possible positions for this element, resulting in
       display strings as follows:
       * Start of style:
         * Right adjusts the display string and fills available space with the
           character specified from the left cell grid border up to the display
           string.
       * End of style:
         * Left adjusts the display string and fills available space with the
           character specified from the display string up to the right cell
           grid border.
       * Within style:
         * Splits the display string in two at the position where the element
           occurs, first part becomes left justified, second part becomes right
           justified, the available space in between is filled with the
           character specified.

       The <number:fill-character> element is usable within the following
       elements:

       [these lists are generated from the schema IIRC]
         <number:number-style> <number:currency-style> <number:percentage-style>
         <number:date-style> <number:time-style> <number:text-style>

       [and list the <number:fill-character> element as a child element of each of those]

       [for each of those elements add wording that the element can occur only once, for example:]

       This element can contain one instance of each of the following elements:
         [and add <number:fill-character>]

   2.2 Schema changes/additions:

       New element:
           <define name="number-fill-character">
               <element name="number:fill-character">
                   <text/>
               </element>
           </define>

       Add to each
           <element name="number:number-style">
           <element name="number:currency-style">
           <element name="number:percentage-style">
           <element name="number:date-style">
           <element name="number:time-style">
           <element name="number:text-style">

       this
           <optional>
               <ref name="number-fill-character"/>
           </optional>


3. IMPACTS
   3.1 Conformance:
       A processor may ignore this element, for example if there is no cell
       grid available or in data processing.

   3.2 Backwards compatibility:
       This element was not available in previous versions and is optional.
       Existing ODF processors may ignore it.

   3.3 Accessibility impact:
       None.



adding a complete schema diff based on the interleave idea in the previous comment to Proposal

> [spreadsheet] Proposal: <number:fill-character> element for data styles
> -----------------------------------------------------------------------
>
>                 Key: OFFICE-3765
>                 URL: https://issues.oasis-open.org/browse/OFFICE-3765
>             Project: OASIS Open Document Format for Office Applications (OpenDocument) TC
>          Issue Type: Improvement
>          Components: Part 1 (Schema), Table
>         Environment: This is an enhancement, described in terms of changes to OpenDocument-v1.2
>            Reporter: Thorsten Behrens 
>            Assignee: Andras Timar
>             Fix For: ODF 1.3
>
>
> 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)



--
This message was sent by Atlassian JIRA
(v6.2.2#6258)


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