From b43cdd9ab1ae44d9171be0fcf771fc10ee649551 Mon Sep 17 00:00:00 2001 From: Jeni Tennison Date: Wed, 8 Apr 2015 16:23:08 +0100 Subject: [PATCH 1/2] removed compatibility constraints on inherited values fixes #464 --- metadata/index.html | 35 +++++++++++++---------------------- 1 file changed, 13 insertions(+), 22 deletions(-) diff --git a/metadata/index.html b/metadata/index.html index 12a218a9..8cc4df22 100644 --- a/metadata/index.html +++ b/metadata/index.html @@ -1079,16 +1079,10 @@

Inherited Properties

A cell may be assigned annotations based on properties on the description objects for the group of tables, table, schema, or column that it appears in. These properties are known as inherited properties and are listed below. To ascertain a value for certain annotations on cells, an application MUST identify the relevant property in the descriptions of the group of tables, table, schema, or column.

-

- Applications MUST raise an error if the value of a property in a table description is not compatible with the value of that property on the table group description it appears in. Applications MUST raise an error if the value of a property in a schema description is not compatible with the value of that property on the table description and table group description it appears in. Applications MUST raise an error if the value of a property in a column description is not compatible with the value of that property in the schema description, table description, and/or table group description it appears in. -

-

- A value for an inherited property on a column or table description is compatible with with an inherited value on the same property on a table or table group description if they are the same value or if the first value is a sub-value of the second value. The definitions of individual inherited properties indicate what values count as sub-values of others. -

aboutUrl
-

A URI template property that MAY be used to create a unique identifier for each cell within a row when mapping data to other formats. There are no compatibility restrictions on this property. The value of this property is used to create the value of the about URL annotation for the cell.

+

A URI template property that MAY be used to create a unique identifier for each cell within a row when mapping data to other formats. The value of this property is used to create the value of the about URL annotation for the cell.

aboutUrl is typically defined on a schema description or table description. If defined on individual column descriptions, care must be taken to ensure that transformed cell values maintain a semantic relationship.

datatype
@@ -1096,57 +1090,54 @@

Inherited Properties

An atomic property that contains either a single string that is the main datatype of the values of the cell or a datatype description object. If the value of this property is a string, it MUST be one of the built-in datatypes defined in ; if it is an object then it describes a more specialised datatype. If a cell contains a sequence (ie the separator property is specified and not null) then this property specifies the datatype of each value within that sequence. See for more details.

-

- A value for this property is compatible with an inherited value if they are identical, or if the value is a subtype within the datatype hierarchy defined in , including if the inherited value is explicitly specified as the base of this value. -

We invite comment on whether datatype should allow for a "union" of types for a cell; this would allow for a set of datatypes that could be matched against the string value of a cell, choosing the first match; e.g., to match either a date or datetime.

required
-

A boolean atomic property taking a single value which indicates whether the cell must have a non-null value. The default is false. A value for this property is compatible with an inherited value only if they are identical.

+

A boolean atomic property taking a single value which indicates whether the cell must have a non-null value. The default is false.

default

- An atomic property holding a single string that is used to create a default value for the cell in cases where the original string value is an empty string. This default value MAY be used when converting the table into other formats, or when the table is displayed. If not specified, the default for the default property is the empty string, "". A value for this property is compatible with an inherited value only if they are identical. + An atomic property holding a single string that is used to create a default value for the cell in cases where the original string value is an empty string. This default value MAY be used when converting the table into other formats, or when the table is displayed. If not specified, the default for the default property is the empty string, "".

lang

- An atomic property giving a single string language code as defined by [[!BCP47]]. Indicates the language of the value within the cell. A value for this property is compatible with an inherited value if it is a sub-language of the inherited value; for example en-US is compatible with en but not fr. + An atomic property giving a single string language code as defined by [[!BCP47]]. Indicates the language of the value within the cell.

null

- An atomic property giving the string or strings used for null values within the data. If the string value of the cell is equal to any one of these values, the cell value is null. If not specified, the default for the null property is the empty string. A value for this property is compatible with an inherited value if it is a subset of the inherited value. + An atomic property giving the string or strings used for null values within the data. If the string value of the cell is equal to any one of these values, the cell value is null. If not specified, the default for the null property is the empty string.

ordered
-

A boolean atomic property taking a single value which indicates whether a list that is the value of the cell is ordered (if true) or unordered (if false). The default is false. This property is irrelevant if the separator is null or undefined, but this is not an error. A value for this property is compatible with an inherited value only if they are identical.

+

A boolean atomic property taking a single value which indicates whether a list that is the value of the cell is ordered (if true) or unordered (if false). The default is false. This property is irrelevant if the separator is null or undefined, but this is not an error.

propertyUrl
-

An URI template property that MAY be used to create a URI for a property if the table is mapped to another format. There are no compatibility restrictions on this property. The value of this property is used to create the value of the property URL annotation for the cell.

+

An URI template property that MAY be used to create a URI for a property if the table is mapped to another format. The value of this property is used to create the value of the property URL annotation for the cell.

propertyUrl is typically defined on a column description. If defined on a schema description, table description or table group description, care must be taken to ensure that transformed cell values maintain an appropriate semantic relationship, for example by including the name of the column in the generated URL by using _name in the template.

separator

- An atomic property that MUST have a single string value that is the character used to separate items in the string value of the cell. If null or unspecified, the cell does not contain a list. Otherwise, application MUST split the string value of the cell on the specified separator character and parse each of the resulting strings separately. The cell's value will then be a list. Conversion specifications MUST use the separator to determine the conversion of a cell into the target format. See for more details. A value for this property is compatible with an inherited value only if they are identical. + An atomic property that MUST have a single string value that is the character used to separate items in the string value of the cell. If null or unspecified, the cell does not contain a list. Otherwise, application MUST split the string value of the cell on the specified separator character and parse each of the resulting strings separately. The cell's value will then be a list. Conversion specifications MUST use the separator to determine the conversion of a cell into the target format. See for more details.

textDirection

- An atomic property that MUST have a single string value that is one of "rtl" or "ltr" (the default). Indicates whether the text within cells should be displayed by default as left-to-right or right-to-left text. The value of this property is used to create the value of the text direction annotation for the cell. A value for this property is compatible with an inherited value only if they are identical. See Bidirectional Tables in [[!tabular-data-model]] for details. + An atomic property that MUST have a single string value that is one of "rtl" or "ltr" (the default). Indicates whether the text within cells should be displayed by default as left-to-right or right-to-left text. The value of this property is used to create the value of the text direction annotation for the cell. See Bidirectional Tables in [[!tabular-data-model]] for details.

valueUrl
-

An URI template property that is used to map the values to the cells into URLs. See for details. There are no compatibility restrictions on this property. The value of this property is used to create the value of the value URL annotation for the cell.

+

An URI template property that is used to map the values to the cells into URLs. See for details. The value of this property is used to create the value of the value URL annotation for the cell.

This allows a cell value to define one or more RDF resources value of a cell instead of a literal values, as defined in [[rdf-concepts]]. For example, if the value were "{#reference}", each cell value of a column named reference would be used to create a URI such as http://example.com/#1234, if 1234 were a cell value of that column.

valueUrl is typically defined on a column description. If defined on a schema description, table description or table group description, care must be taken to ensure that transformed cell values maintain an appropriate semantic relationship.

@@ -1808,9 +1799,9 @@

Formats for numeric types

  • does not meet the numeric format defined above,
  • contains two consecutive groupChar characters,
  • does not match the regular expression defined in the pattern property, if there is one,
  • -
  • contains the decimalChar, if the datatype is integer or one of its sub-values,
  • -
  • contains an exponent, if the datatype is decimal or one of its sub-values, or
  • -
  • is one of the special values NaN, INF, or -INF, if the datatype is decimal or one of its sub-values.
  • +
  • contains the decimalChar, if the datatype is integer or one of its subtypes,
  • +
  • contains an exponent, if the datatype is decimal or one of its subtypes, or
  • +
  • is one of the special values NaN, INF, or -INF, if the datatype is decimal or one of its subtypes.
  • Implementations MUST use the sign, exponent, percent, and per-mille signs when parsing the string value of a cell to provide the value of the cell. For example, the string value "-25%" must be interpreted as -0.25 and the string value "1E6" as 1000000. From 4942851570baacc9ce5cf8dba18bba94dffe2722 Mon Sep 17 00:00:00 2001 From: Jeni Tennison Date: Sun, 12 Apr 2015 11:51:31 -0400 Subject: [PATCH 2/2] removed compatibility constraints on datatype --- metadata/index.html | 3 --- 1 file changed, 3 deletions(-) diff --git a/metadata/index.html b/metadata/index.html index 77d1168e..151152f6 100644 --- a/metadata/index.html +++ b/metadata/index.html @@ -1102,9 +1102,6 @@

    Inherited Properties

    An atomic property that contains either a single string that is the main datatype of the values of the cell or a datatype description object. If the value of this property is a string, it MUST be one of the built-in datatypes defined in ; if it is an object then it describes a more specialised datatype. If a cell contains a sequence (ie the separator property is specified and not null) then this property specifies the datatype of each value within that sequence. See for more details.

    -

    - A value for this property is compatible with an inherited value if they are identical, or if the value is a subtype within the datatype hierarchy defined in , including if the inherited value is explicitly specified as the base of this value. -

    The normalized value of this property becomes the datatype annotation for the described column.

    We invite comment on whether datatype should allow for a "union" of types for a cell; this would allow for a set of datatypes that could be matched against the string value of a cell, choosing the first match; e.g., to match either a date or datetime.