People in cafeJean Paoli
speakingAmsterdam rooftopsXTech delegats
XTech 2007: “The Ubiquitous Web”15-18 May 2007, Paris, France
Your account


(?)
XTech 2007 news

Subscribe to receive news about XTech

Partners





Sponsors


Organized by

Conference Chair

Co-Hosts

Event software by Expectnation
Add to your personal schedule

NVDL - a breath of fresh air for compound document validation

Jirka Kosek (University of Economics, Prague), Petr Nálevka (University of Economics, Prague)
Core technology Concorde-Invalides
Chair: Henry S Thompson (University of Edinburgh)

Even a long time after the XML namespaces have been introduced, the world of mark-up vocabularies has been dominated by overgrown monolithic languages. Such languages are consisting from a large number of elements and are difficult to learn and maintain.

Recently, it’s more and more obvious, that some extensibility problems may be solved smarter using a combination of several separate single-purposes languages, rather than using one complex versatile language. If there already exists a well-adopted and understood vocabulary, which solves part of our problem, it makes a good sense to reuse it, rather than to introduce new markup for already existing domain. With this approach, we gain an immense flexibility, as for every specific problem, we can adopt a specific combination of vocabularies. In general, when using more vocabularies inside one XML document (e.g. XHTML+XForms+SVG), we talk about compound documents.

Compound documents bring not only advantages, but also a new level of complexity, which needs to be addressed, before we adopt them as a solution. One of the crucial issues, which wasn’t still satisfactorily resolved, is validation. Validity is very important. It guarantees that our document is correctly “understood” by different applications. For compound documents, we have to ensure validity of all the particular vocabularies. In addition, we also need to constrain the way the vocabularies are combined.

Although modern namespace-aware schema languages (RELAX NG, W3C XML Schema) offer interesting compound document features, they are ineligible for complex scenarios. They force us to convert vocabulary schemas into the one common schema language. Moreover, it is often necessary to modify source schemas in order to make them work together. Such approach is inefficient because it requires deep knowledge of the particular schema internals and naming conventions used. Finally all this effort leads to monolithic schemas, which are difficult to maintain and reuse.

A far better approach appears to be the new international standard for compound document validation NVDL (ISO/IEC 19757-4 Namespace-based Validation Dispatching Language). NVDL is a simple language intended to express eligible ways of combining different vocabularies in one document. Those vocabularies are extracted from the original instance and send separately for validation against different subschemas. Subschemas are completely independent and they may be written in different schema language. NVDL makes it easy to create new compound language definitions on the fly by reusing already existing schemas for existing vocabularies.

One of the first NVDL implementations is our open-source JNVDL library (http://sourceforge.net/projects/jnvdl). It features few proprietary extensions which bring the young standard closer to real-life applications. Those involve support for round-tripping and XPath-rule-based processing.

NVDL brings a break-through in compound document validation. It removes one of the last barriers preventing compound documents to become widely adopted. Perspectively, NVDL can also be used for code completion in XML editors or in pipelining frameworks.

After a brief introduction to NVDL our experience with implementation of the standard is presented. The power of NVDL is shown on a number of real-world examples and JNVDL extensions are presented and discussed as well.

Jirka Kosek

University of Economics, Prague

Jirka Kosek is a freelance XML consultant and teacher at University of Economics in Prague. He has over ten years experience in providing XML consultancy and training. Jirka is an active member in several standardization bodies—OASIS (DocBook TC and RELAX NG TC), W3C (XSL WG and ITS WG) and ISO/IEC JTC1/SC34 (DSDL, Topic Maps).

Jirka Kosek is an author of several books about Web technologies. He also wrote numerous articles for IT developer magazines. In his free time he is contributing code into DocBook XSL stylesheets open-source project.

Photo of Petr Nálevka

Petr Nálevka

University of Economics, Prague

Petr Nalevka is an IT consultant with over 8 years extensive experience across a variety of IT projects using contemporary enterprise-level web-based and server-side technologies. The highlights include development and architecture of an in-house modular billing system for large ISPs, distributed system for stock indexes calculation and other projects for governmental institutions or international banks.

Moreover, Petr works on development and maintenance of Relaxed and JNVDL, both open source projects. Relaxed is a web document validation service and JNVDL is a Java implementation of the NVDL international standard for compound document validation.