346
edits
No edit summary |
|||
| (3 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
{| summary="Proposed mapping | == Proposal == | ||
! | * Allow aaa:datatype attribute to point to any schema, e.g. type="my:phonenumber" | ||
* The user agent will parse the data type pointed to and provide the following information via ATK/AT-SPI/IAccessible2 object attributes (which can expose arbitrary string values) | |||
! | * Each element on the page can utilize a simple type, and the schema can define the xs:restrictions as well as the xs:use attribute | ||
! | * If a complex type is used, it makes the most sense to map this to multiple elements on the page, each with its own simple type | ||
* Note that this means HTML will *not* be usable for author defined types, because it does not support xmlns, and thus the actualy datatype would not be reachable by the user agent. | |||
{| summary="Proposed data type attribute to mapping" width="90%" border="1" cellspacing="1" cellpadding="1" | |||
! Type information | |||
! Object attribute or state | |||
! Notes | |||
|- | |- | ||
| | | aaa:datatype | ||
| | | "datatype" | ||
| | | | ||
|- | |- | ||
| | | xs:base | ||
| | | "datatypebase" | ||
| What the type is derived from. Must be one of the built-in types such as xs:integer. If original aaa:datatype is one of the built-in types, then this will be the same. | |||
|- | |- | ||
| | | xs:minLength | ||
| | | "value-minlength" | ||
| | | | ||
|- | |- | ||
| | | xs:maxLength | ||
| | | "value-maxlength" | ||
| | | | ||
|- | |||
| xs:length | |||
| "valueminlength" and "valuemaxlength" | |||
| Expose these two attributes with the same value | |||
|- | |- | ||
| | | xs:totalDigits | ||
| | | "value-total-digits" | ||
| | | | ||
|- | |- | ||
| | | xs:fractionDigits | ||
| | | "value-fraction-digits" | ||
| | | | ||
|- | |- | ||
| | | xs:use="fixed" | ||
| | | "valuenow" | ||
| | | Also sets readonly state (overrides aaa:readonly). Author should also set aaa:valuenow to the same value, and not allow changes. In the case of a difference, the schema will override aaa:valuenow. | ||
|- | |- | ||
| | | xs:use="default" | ||
| | | | ||
| Not mapped, because author should be responsible to fill in aaa:valuenow on element initialization | |||
| | |||
|- | |- | ||
| | | xs:use="required" | ||
| | | required state | ||
| same as aaa:required. aaa true, required state will be set | |||
| | |||
|- | |- | ||
| | | xs:whiteSpace | ||
| | | "value-whitespace" | ||
| | | | ||
|- | |- | ||
| | | xs:pattern | ||
| | | "value-pattern" | ||
| | | | ||
|- | |- | ||
| | | xs:enumeration | ||
| | | "value-pattern" (must be built by in the format "<nowiki>string1|string2|string3</nowiki>"), with appropriate characters escaped with a backslash | ||
| | | same functionality as xs:pattern, so to simplify we expose the same way | ||
|- | |- | ||
| | | xs:minInclusive | ||
| | | "valuemin" | ||
| When aaa:valuemin is also set, the schema minimum value will be used | |||
| | |||
|- | |- | ||
| | | xs:maxInclusive | ||
| | | "valuemax" | ||
| When aaa:valuemax is also set, the schema maximum value will be used | |||
| | |||
|- | |- | ||
| | | xs:minExclusive | ||
| | | "valuemin" + "valuemin-exclude"="true" | ||
| | | | ||
|- | |- | ||
| | | xs:maxExclusive | ||
| | | "valuemax" + "valuemax-exclude"="true" | ||
| | | | ||
|- | |- | ||
| | | xs:union | ||
| | | "value-pattern" | ||
| This must be generated as a fixup to "value-pattern" using the OR operator | |||
| | |||
|- | |- | ||
| | | xs:list | ||
| | | "value-list"="true" and change "datatypebase" to the specified xs:itemType for the list | ||
| | |||
| | |||
|} | |} | ||
edits