Rohan Mahy Sharon Chisholm Lada Lhotka IETF 72 - Dublin. Representing Netconf Data Models using Document Schema Definition Languages (DSDL). Outline. What is DSDL? Scope of DSDL for NETCONF Overview Drafts Vocabularies Used Next Steps Open Issues. What is DSDL?.
IETF 72 - DublinRepresenting NetconfData Models using Document Schema Definition Languages (DSDL)
What is DSDL?
Scope of DSDL for NETCONF
DSDL = Document Schema Definition Languages (http://www.dsdl.org)
Family of standards ISO/IEC 19757
DSDL uses a modular approach to schema languages
Part 1: Overview
Part 2: RELAX NG – regular-grammar-based validation
Part 3: Schematron – rule-based validation
Part 4: NVDL – Namespace-based Validation Language
Part 5: DTLL – Data Type Library Language
Part 6: Path-based integrity constraints
Part 7: CRDL – Character Repertoire Description Language
Part 8: DSRL – Document Schema Renaming Language
Part 9: Datatype- and Namespace-aware DTDs
Part 10: Validation management
(as determined by WG)
(DSDL for NETCONF)
The goal is a theoretical two-way mapping of features, and a real non-lossy one-way mapping.
A layered approach leveraging existing DSDL technologies
Off-the-shelf tools/libraries can be immediately used for validation, instance editing and transformations (XSLT)
The smarter the tool/library, the more semantics can be validated or processed but even baseline tools can do useful work
The mapping uses 3 parts of the DSDL standard (ISO/IEC 19757), two standard annotation vocabularies and several new NETMOD-specific annotations
A software tool is available that translates most of YANG semantics
Output is an annotated RELAX NG schema
New individual draft summarizing the experience from implementing YANG->DSDL translator – plugin for pyang application
Very complementary to -mahy draft
It tries to formulate principles that the WG mapping draft should state
It contains a section describing mapping details for each YANG statement.
RELAX NG – grammatic constraints, datatypes
Schematron – semantic constraints, user-specified rules (must statement in YANG)
DSRL – default values of leaf nodes
Dublin Core terms – module metadata (author, revision, ...)
RELAX NG DTD compatibility annotations – YANG description and reference.
NETMOD-specific annotations – few new attributes attached to RELAX NG <element>.
The implementation revealed several issues that have to be resolved (preferable in Dublin); some of them may require changes or clarifications in YANG.
Finish the chartered DSDL mapping draft (due in September 08). It will be based on merging two existing individual drafts:
Update the implementation:
alignment with the draft
implement mappings of YANG extension mechanisms
Handling of rpc and notification
YANG allows multiple root nodes, XML just one.
(For a complete list of issues, visit the NETMOD session on Friday)
YANG modules describe the contents of agent configuration datastores, with two exceptions:
rpc specifies signature of a new NETCONF RPC method.
notification defines a NETCONF notification.
Generate separate schemas for the configuration data tree, RPCs and notifications.
Work with a „conceptual tree“ that harbors the three types of content in different subtrees.
YANG allows for multiple root nodes, but well-formed XML document must have exactly one.
...main configuration data tree...
</nmt:netmod-module>Example Conceptual Tree