[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: SDO-148 (revised proposal)
Hi, Following our last meeting here is a revised proposal for
SDO-148: Add these paragraphs to the core spec, section 10.2 after
first paragraph. When serializing list of consecutive
references to DataObjects an SDO implementation MAY use the sdo:range
attribute in addition of sdo:ref. In this case the sdo:ref value MUST be a
XPath and an implementation MUST throw an exception if IDREF is used as sdo:ref
value [COR1002xxxx]. The following two examples are equivalent: <departments
sdo:ref=”#/company:company[1]/departments[1]”> <employes
sdo:ref=”#/company:company[1]/departments[1]/employees”
sdo:range=”1 5”/> </departments> <departments
sdo:ref=”#/company:company[1]/departments[1]”> <employes
sdo:ref=”#/company:company[1]/departments[1]/employees[1]” /> <employes
sdo:ref=”#/company:company[1]/departments[1]/employees[2]” /> <employes
sdo:ref=”#/company:company[1]/departments[1]/employees[3]” /> <employes
sdo:ref=”#/company:company[1]/departments[1]/employees[4]” /> <employes
sdo:ref=”#/company:company[1]/departments[1]/employees[5]” /> </departments> The sdo:range value contains two numeric values separated by a white space character: a positive
start index and a positive end index in the referenced collection. Both
sdo:range indexes are inclusive. An SDO implementation MUST throw exception if:
·
A negative value is specified for any of the
sdo:range indexes. [COR1002xxxx] ·
One of the index is larger than the size of the
referenced collection. [COR1002xxxx] ·
The sdo:ref attribute value does not reference a
collection. [COR1002xxxx] ·
First index is larger than the second one. [COR1002xxxx] A change summary can combine sdo:range values with deleted
data objects. The following two examples are equivalent: <changesummary
delete=”#/changesummary/departments/employees[3]”> <departments sdo:ref=”#/company:company[1]/departments[1]”> <employes
sdo:ref=”#/company:company[1]/departments[1]/employees”
sdo:range=”1 2”/> <employes
name=”John”> <employes
sdo:ref=”#/company:company[1]/departments[1]/employees”
sdo:range=”4 5”/> </departments> </changesummary> <changesummary
delete=”#/changesummary/departments/employees[3]”> <departments
sdo:ref=”#/company:company[1]/departments[1]”> <employes
sdo:ref=”#/company:company[1]/departments[1]/employees[1]” /> <employes
sdo:ref=”#/company:company[1]/departments[1]/employees[2]” /> <employes
name=”John”> <employes
sdo:ref=”#/company:company[1]/departments[1]/employees[4]” /> <employes
sdo:ref=”#/company:company[1]/departments[1]/employees[5]” /> </departments> </changesummary> An SDO implementation MUST correctly deserialize sdo:range
information [COR1002xxxx] but is not required to produce the same XML when
ChangeSummary is serialized back to XML. It is allowed to use sdo:range on all
change summary children elements: <changeSummary
create="#/company:company[1]/departments[1]/employees[3]"
delete="#/changeSummary/departments[1]/employees[3]"> <departments
sdo:range="#/company:company[1]/departments[1]
#/company:company[1]/departments[4]"> <employees sdo:range="#/company:company[1]/departments[1]/employees[1]
#/company:company[1]/departments[1]/employees[4]"/> </departments> </changeSummary> Add a sentence (here in bold) in first paragraph in
section 10.4 If the property's type is not a dataType, an SDO
implementation MUST render unaltered elements [COR10040003]. An SDO
implementation MAY use the sdo:ref attribute to indicate the corresponding
objects in the final document. An SDO implementation MAY render
unaltered elements using sdo:ref and sdo:range attributes to indicate a
range of corresponding objects in the final document. Thanks,
|
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]