[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: SDO-148
Hi, Here’s a new proposal for SDO-148 that includes the
points raised during meeting two weeks ago. 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 raise an error if IDREF is used as sdo:ref
value [COR1002xxxx]. An SDO implementation MUST correctly deserialize sdo:range
information [COR1002xxxx] but MAY NOT produce the same XML when ChangeSummary
is serialized back to XML. The following two examples are equivalent: <departments
sdo:ref=”#/company:company[1]/departments[1]”> <employees
sdo:ref=”#/company:company[1]/departments[1]/employees”
sdo:range=”1 5”/> </departments> <departments
sdo:ref=”#/company:company[1]/departments[1]”> <employees
sdo:ref=”#/company:company[1]/departments[1]/employees[1]” /> <employees
sdo:ref=”#/company:company[1]/departments[1]/employees[2]” /> <employees
sdo:ref=”#/company:company[1]/departments[1]/employees[3]” /> <employees
sdo:ref=”#/company:company[1]/departments[1]/employees[4]” /> <employees
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 and first index starts at 1. Unexpected values
for sdo:range are: ·
Negative values for any of the sdo:range
indexes. ·
Indexes larger than the size of the referenced
collection. ·
sdo:ref attribute value does not reference a
collection. ·
First index is larger than the second one. 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]”> <employees sdo:ref=”#/company:company[1]/departments[1]/employees”
sdo:range=”1 2”/> <employees
name=”John”> <employees
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]”> <employees
sdo:ref=”#/company:company[1]/departments[1]/employees[1]” /> <employees
sdo:ref=”#/company:company[1]/departments[1]/employees[2]” /> <employees
name=”John”> <employees
sdo:ref=”#/company:company[1]/departments[1]/employees[4]” /> <employees
sdo:ref=”#/company:company[1]/departments[1]/employees[5]” /> </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]