
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?>