[cddlm] CDL Tests

Steve Loughran steve_loughran at hpl.hp.com
Wed Mar 8 14:31:16 CST 2006


Guilherme M. G. Barbosa / Grad. DSC wrote:
> On Wed, 8 Mar 2006, Steve Loughran wrote:
> 
>> Guilherme Germoglio wrote:
>>
>>> Hello,
>>>
>>> Our test results regarding the cdl parser can be viewed in: 
>>> http://lsd.ufcg.edu.br/~guiga/cddlm/test_results/index.html
>>>
>>>  From these tests we have changed test cddlm-cdl-2005-09-0005, from 
>>> import_namespace set because its resolution expected is not correct.
>>>
>>> The expected must be the following:
>>>
>>>   <cdl:system xmlns:test1="http://cddlm.org/test1.cdl"
>>>             xmlns:t2="http://cddlm.org/test2.cdl">
>>>           <MyServer>
>>>             <hostname>www.cddlm.org <http://www.cddlm.org></hostname>
>>>             <port>80</port>
>>>           </MyServer>
>>>   </cdl:system>
>>>
>>> As hostname property was redefined to www.cddlm.org 
>>> <http://www.cddlm.org> in MyServer , which extends test1:WebServer, 
>>> this property cannot be the same of test1:WebServer (data/hostname).
>>
>>
>> you are right. fixed.
>>
>>>
>>> As you can see in the results, 2 required tests remained failing: 
>>> cddlm-cdl-2005-02-0021 and cddlm-cdl-06-0001
>>> They regard the resolution of references to lazy properties. We think 
>>> the tests are not according to the specification, that says in 
>>> sections 7.3.3 and 7.5.2, respectively:
>>>
>>> "A value reference at /n/ referring to /n'/ is resolvable if and only 
>>> if:
>>>            (...)
>>>
>>>     *
>>>
>>>       The node /n'/ and its descendants do not have any @cdl:ref and
>>>       @cdl:lazy attribute. Otherwise, the resolution is deferred until
>>>       these @cdl:ref and @cdl:lazy attributes are resolved."
>>>
>>>  "A reference to an property with a @cdl:lazy attribute MUST NOT be 
>>> resolved before the @cdl:lazy attribute is resolved."
>>>
>>> What does the specification mean by "be resolved"? When it states 
>>> that the reference MUST NOT be resolved, does it mean that the 
>>> reference must remain unchanged? If so, the tests must be changed. If 
>>> not, what is the expected behavior?
>>>
>>
>> the cddlm-cdl-2005-02-0021 actually tests that the presence of a 
>> cdl:lazy attribute is harmless if you have no reference, it just gets 
>> kept along. There's no reason for it not to be dropped, except that 
>> the specification explicitly says that only cdl:ref and cdl:refroot 
>> attributes get stripped when copying references.
>>
> 
> But according to the specification (section 7.3.3), if a descendant of a 
> node refered has the cdl:lazy attribute (just like 
> cddlm-cdl-2005-02-0021), this reference resolution must be deferred 
> until the resolution of this cdl:lazy.

Except a node <something cdl:lazy="true" >value</something> isnt 
actually a resolvable reference. it is inherently resolved to a node 
which has the the text "value", and the cdl:lazy attribute.

Jun, what do you think?>





More information about the cddlm-wg mailing list