Search This Blog

Tuesday, October 16, 2007

New Draft of ISO DSDL Part-8 (DSRL) Out for Review

Martin Bryan has released the latest FCD draft (second final committee
draft) for ISO DSRL. He has an open source implementation available
too: like some of the other parts of ISO DSDL (Schematron and DTLL)
it is designed to be implementable on top of XSLT (XSLT2 in this case)
however of course it can be implemented in Java or .NET or C++ directly
too: DSRL is certainly suitable for building into a validator as a
pre-processor, in a way a little analogous to OASIS XML Catalogs. DSRL
is a real missing piece in the puzzle: it provides a simple tool for
remapping names in documents. This allows a more declarative approach
than just using XSLT, and makes the task of mapping suitable for
non-programmers. It fits into the schema ecosystem because it lets you
rename the names in your document to suit that of a standard schema.
It is only about 18 pages long, including examples, and easy to read.
We are used to saying that 'syntax is easy; semantics is hard'. But
even syntax is not easy without straightforward tools. Just last week
I was working with an example of a company that was considering using
an standard external schema, but wanted to use its own terms for things
where they existed. Exactly a job for DSRL! DSRL allows these kinds of
mapping, and I think that like ISO Schematron and ISO NVRL it will
progressively become part of the schema environment for standards,
especially outside the English-speaking world, and especially because
XML is the structured format 'for the rest of us'. Even the most
tragic XML Schema devotee realizes that there needs to be some limits
to XSDs scope, and DRSL (and Schematron and NVRL) have a good fit even
with XSD. (Of course, we designed them around RELAX NG, but standards
are pragmatics not religions.) DSRL allows the following remappings --
organized into a series of maps that typically relate to an output
namespace: Element names (in an Xpath context); Attribute names; Element
simple values; Attribute values; Default values for elements or attributes
(including the subelement after which the content may go, in the case
of an element: mixed content is not ignored!); Processing instruction
targets; Entity names (e.g. for undeclared entity references). In
addition, a new XML-based syntax for defining entities is given. Note:
Document Semantics Renaming Language (DSRL) is Part 8 in the 10-part
Document Schema Definition Languages (DSDL) ISO/IEC specification. More Information See also DSDL Part 8 references: Click Here

No comments: