Subject: [netmod] dsdl draft comments

From: Andy Bierman <[email-masked]>
Date: Mon, 26 Jul 2010 05:40:14 -0700

Hi,

I am reviewing the DSDL mapping document.
I find it to be very thorough and complete, although
I am not a DSDL expert at all.

pg. 29)
  - perhaps the DSDL mapping for this YANG fragment should be added
    (outer/c1,c2,c3)

pg 31)
  - perhaps container "cont" should be in the DSDL mapping.
    only the groupings are mapped, not the 'uses' in this container

10.13) why MAY be ignored?
       IMO the mapping to annotation should be mandatory.
       Not sure what is gained by making this optional
       Same comment for reference-stmt (10.47) and status-stmt (10.51)
       units-stmt (10.56)

10.16, 10.17)
 - I think the error-message and error-app-tag sub-stmts
   need to apply to pattern-stmt and range-stmt, not just must-stmt.

11.  I don't really understand DSRL so it is hard to comment too much.
     I would be good to have examples in every case, but not critical.
     The overall need for a secondary schema after the hybrid schema
     is not very clear to me.  I think it is to validate specific
     NETCONF operations, and the hybrid is a 'static database' view.
     If so, more intro text would be helpful.

12.9  I do not understand the purpose of the nma@leaf-list attribute

C.3.4) it would be useful to have a final schema example for an
       edit-config or copy-config, not just get.

---

From: Ladislav Lhotka <[email-masked]>
Date: Mon, 26 Jul 2010 16:51:35 +0200

Hi Andy,

thanks for your commments, my replies are inline.

>   - perhaps the DSDL mapping for this YANG fragment should be added

This example illustrates the notions of "mandatory" and "implicit"
nodes, it could be confusing to use the annotations that represent them
in the hybrid schema before these annotations are specified.

>     only the groupings are mapped, not the 'uses' in this container

Yes, I could add it, but the advantage of showing only the named pattern
definitions is that (unlike the definition of "cont") they don't use the
module's NS prefix, so the prefix needn't be defined in the snippet. And
having the entire hybrid schema here would IMO make the point less
clear.

>        Same comment for reference-stmt (10.47) and status-stmt (10.51)

Off-the-shelf tools can't make any use of these documentation strings,
so I reckon it could be useful only for a (poor) person reading the
hybrid schema, who should probably be reading the YANG module instead.

Error messages from 'must' are directly used in Schematron rules. In
contrast, patterns and ranges are validated in RELAX NG and so the
specific messages would be of no use, even if they were present in the
hybrid schema.
  
>      I would be good to have examples in every case, but not critical.

One example is in sec. 11.3 and another is the DHCP example in appendix
C.

>      If so, more intro text would be helpful.

The hybrid schema cannot be fed to any off-the-shelf tool, and the
secondary schemas are the actual DSDL stuff that can be used for
validating instance XML documents.

>  12.9  I do not understand the purpose of the nma@leaf-list attribute

The purpose is to distinguish leaf-lists from other lists since
leaf-lists has to be checked for duplicate entries. It may be
recognizable directly from the hybrid schema, this annotation just makes
it explicit and easier.

>        edit-config or copy-config, not just get.

Schemas for edit-config - as well as e.g. get request with a subtree
filter - is a harder problem and I don't have an acceptable solution
yet. However, the relationship between the schemas for the datastore and
edit-config is not specific to DSDL, so I consider it outside the scope
of the DSDL mapping spec.

I could add the schemas for copy-config but would it show anything new
compared to the get reply?

Lada

> 
> 
> 
> _______________________________________________
> netmod mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/netmod

-- 
Ladislav Lhotka, CESNET
PGP Key ID: E74E8C0C