[dsdl-discuss] Re: SC34 WG1 Amsterdam - Lack of Agenda

From: MURATA Makoto <murata@hokkaido.email.ne.jp>
Date: Sat Apr 03 2004 - 14:35:08 UTC

Martin,

I am now really working hard to prepare the FCD for DSDL Part 4.
"Introduction", "Scope", "Normative References" are ready (see below).
"Syntax" and "Simple syntax" are almost ready (not attached). "Semantics"
and "Simplification" are difficult, but I am making progress. "Terms
and definitions" are not complete yet, but is 70% done. Most of the examples
and schemas mentioned in the attached draft exist in my hard disk.

I plan to follow ISO/IEC TR 9573-11. I received a DTD and stylesheets from
Komachi-san yesterday. I promise to finish "Simplification" and send a draft
before the WG1 meeting. I am not sure I can finish the formal semantics by the
WG1 meeting, but I do plan to start a FCD ballot in May.

I would appreciate it if the WG1 meeting can review my wording.
By the way, should we reference to XML 1.1 and namespaces 1.1?

Cheers,

Makoto
---------------------------------------------------------------

ISO/IEC FCD 19757-4:2004(E)

Document Schema Definition Languages --
  Namespace-based Validation Dispatching Language (NVDL)

Introduction

The motivations of this part of the ISO/IEC 19757 are twohold. One is
to easily combine different schemas describing markup vocabularies.
The other is to allow these schemas to be written in different schema
languages.

The history of Namespace-based Validation Lispatching Language (NVDL)
is as follows. In 2001, RELAX Namespace was created as a JIS
Technical Report X 0044:2001 (ed. MURATA Makoto) by the Committee for
Next Generation Network in Japan. This JIS TR was then submitted to
ISO/IEC JTC1 as a Draft Technical Report 22250-1:2001. A
simplification of this DTR became a committee draft of this part of
the International Standard in 2002. Influenced by RELAX Namespace and
the committee draft, James Clark designed Modular Namespaces and
Namespace Routing Language while Rick Jelliffe designed Namespace
Switchboard. On the basis of these inputs, the final committee draft
of this part was created in 2004.

The structure of this part of ISO/IEC 19757 is as follows. Clause 5
describes the data model, which is the abstraction of an XML document
used throughout the rest of the document. Clause 6 describes the
syntax of an NVDL schema. Clause 7 describes a sequence of
transformations that are applied to simplify an NVDL schema, and also
specifies additional requirements on an NVDL schema. Clause 8
describes the syntax that results from applying the transformations;
this simple syntax is a subset of the full syntax. Clause 9 describes
the semantics of a correct NVDL schema that uses the simple syntax;
the semantics specify how elements and attributes in a given document
are dispatched to different validators and which schemas are used by
these validators. Finally, Clause 10 describes conformance
requirements for NVDL validators.

1. Scope

This part of the International Standard specifies Namespace-based
Validation Dispatching Language (NVDL). An NDVL schema controls the
dispatching of elements and attributes in a given XML document to
different validators, depending on the namespaces of the elements and
attributes. An NDVL schema also specifies which schemas are used by
these validators. These schemas may be written in the schema
languages specified by this Internatinal Standard but need not be so.

2. Normative References

The following referenced documents are indispensable for the
application of this document. For dated references, only the edition
cited applies. For undated references, the latest edition of the
referenced document (including any amendments) applies.

           NOTE Each of the following documents has a unique
           identifier that is used to cite the document in the
           text. The unique identifier consists of the part of the
           reference up to the first comma.

ISO/IEC 19757-2, Document Schema Definition Languages (DSDL) ― Part
2: Grammar-based validation ― RELAX NG

<!--
ISO/IEC 19757-3,
Part 3 of this standard???-->

W3C XML, Extensible Markup Language (XML) 1.0 (Third Edition),
W3C Recommendation, 4 February 2004,
available at <http://www.w3.org/TR/2004/REC-xml-20040204/>

<!--
W3C XML 1.1, Extensible Markup Language (XML) 1.1, W3C Recommendation,
4 February 2004, available at
<http://www.w3.org/TR/2004/REC-xml11-20040204/>
-->

W3C XML-Names, Namespaces in XML, W3C Recommendation, 14 January 1999,
available at <http://www.w3.org/TR/1999/REC-xml-names-19990114/>

<!--
W3C XML-Names 1.1, Namespaces in XML, W3C Recommendation, 4 February 2004,
available at <http://www.w3.org/TR/2004/REC-xml-names11-20040204/>
-->

W3C XML-Infoset, XML Information Set (Second Edition),
W3C Recommendation, 4 February 2004,
available at <http://www.w3.org/TR/2004/REC-xml-infoset-20040204/>

XML Schema Part 2: Datatypes, W3C Recommendation, 02 May 2001,
available at <http://www.w3.org/TR/xmlschema-2/>

XML Linking Language (XLink) Version 1.0,
available at <http://www.w3.org/TR/2001/REC-xlink-20010627/>

3. Terms and Definitions

For the purposes of this part of ISO/IEC 19757, the following terms
and definitions apply.

section: either an attribute section or element section

attribute section: a non-empty set of attributes having the same
parent element node and the same namespace URI

element section: an element (say E) such that (1) its descendant
elements belong to the same namespace as E, (2) E and its
descendants have no attributes but may have slot nodes

slot node: either an attribute slot node or element slot node

attribute slot node: a placeholder for an attribute section

element slot node: a placeholder for an element section

validation candidate: an element not having any slot nodes as
descendants

------
mode
context
action
option
anonymous modes
block scoping
message

4. Notation [0%]

5. Data Model

NVDL deals with XML documents representing both schemas and instances
through an abstract data model. This data model is an extension of
the data model of RELAX NG. XML documents representing schemas and
instances shall be well-formed in conformance with W3C XML (or W3C XML
1.1) and shall conform to the constraints of W3C XML-Names (or W3C
XML-names 1.1, respectively).

Names, contexts, attributes, and strings in the NVDL data
model are identical to those in the RELAX NG data model. Elements in
the NVDL data model are extended as follows.

An XML document is represented by an element.

An element consists of
- a name,
- a context,
- a set of attributes or attribute slot nodes, and
- an ordered sequence of zero or more children; each child is
  either an element, a non-empty string, or an element slot node; the
  sequence never contains two consecutive strings or two consecutive slot nodes

An attribute slot node is a placeholder for an attribute section. An
attribute section is represented by a non-empty set of attributes
belonging to the same non-null namespace.

An element slot node is a placeholder for an element section. An
element section is represented by an element.

Note: Attribute slot nodes, element slot nodes, element sections, and
attribute sections do not exist in the RELAX NG data model.

1) creating a data model from the infoset (see W3C XML-Infoset) of the
   XML document.

This process is identical to the process defined in RELAX NG.

Example 1: Consider an XML document as follows.

dmEx1.xml

We use an XML-like syntax for representing data models, but there are
two changes. First, each start tag contains a URI, context, and local
name rather than a qualified name. Second, each end tag is
represented by "</>".

The data model created from this document is shown below. First,
every element in this data model references to a context (say cx1)
that maps ns1 to "http://www.example.com/one" and ns2
to"http://www.example.com/two", respectively.

dmEx1.info

Observe that a comment in the input XML document does not appear in
the data model and that there are no empty-element tags.

Example 2: The following XML document is obtained by adding
attributes to the document shown above.

dmEx2.xml

The data model created from this document is shown below. cx1 is the
same as in Exmple 1. Each attribute name contains a URI and local
name rather than a qualified name.

dmEx2.info

2) creating element sections and attribute sections

This process decomposes an XML document into element sections and
attribute sections.

First, an attribute slot node (say ASN) and attribute section (say AS)
are created for each (E, N) pair, where E is an element and N is the
namespace URI of some qualified attribute of E. AS contains those
attributes of E which belong to N, and ASN is the place holder for AS.
Then, the attribute set of E is modified by introducing ASN and
removing the attributes in AS.

Second, an element slot node (say ESN) and element section (say ES)
are created for each element (say E), if E and its parent element (if
any) belong to different namespaces. ES is represented by E, and ESN
is the place holder for ES. Then, the child sequences of the parent
element of E is modified by replacing E with ESN.

Example 3:

Five element sections are generated from the data model in Example 1.
The first element section represents the document. It has two element
slot nodes: esn1 and esn2.

dm10.info

The second element section corresponds to esn1. It has no element
slot nodes.

dm11.info

The third element section corresponds to esn2. It has two
element slot nodes: esn3 and esn4.

dm12.info

The fourth element section corresponds to esn3. It has no
element slot nodes.

dm13.info

The fifth element section corresponds to esn3. It has no
element slot nodes.

dm14.info

Example 4:

Five element sections and five attribute sections are generated from
the data model in Example 2. The first element section represents the
document. It has two element slot nodes: esn1 and esn2, and
two attribute slot nodes: asn1 and asn2.

dm20.info

The first attribute section corresponds to asn1. It has two
attributes of the namespace "".

dm2a1.info

The second attribute section corresponds to asn2. It has two
attributes of the namespace "http://www.example.com/two".

dm2a2.info

The second element section corresponds to esn1. It has no element
or attribute slot nodes.

dm21.info

The third element section corresponds to esn2. It has two
element slot nodes: esn3 and esn4, and three attribute
slot nodes: asn3, asn4, and asn5.

dm22.info

The third attrribute section corresponds to asn3. It has two
attributes of the namespace "http://www.example.com/one".

dm2a3.info

The fourth attrribute section corresponds to asn4. It has two
attributes of the namespace "http://www.example.com/two".

dm2a4.info

The fifth attrribute section corresponds to asn5. It has two
attributes of the namespace "".

dm2a5.info

The fourth element section corresponds to esn3. It has no
element slot nodes.

dm23.info

The fifth element section corresponds to esn3. It has no
element slot nodes.

dm24.info

3) Attaching attribute sections to element sections

An attribute section (say AS) can be attached to an element section
(say ES) when some attribute slot node (say ASN) in ES is the place
holder for AS. This is done by replacing ASN with those attributes in
AS.

...Example should be supplied...

4) Attaching element sections to element sections

A sequence of element sections (say ES1, ES2, ..., ESm) can be
attached to another element section (say ES0) if:

- this sequence is a singleton (i.e., m=1), and some element slot
  node (say ESN) in ES0 is the place holder for ES1, or

- some element (say E) is an ancestor element of every ESi,
  and some element slot node (say ESN) in ES0 is the place holder
  E.

This is done by replacing ESN with the sequence of elements
representing ES1, ES2, ..., ESm.

...Example should be supplied...

5) creating the infoset

...TO BE SUPPLIED....

6. Syntax

A NVDL schema shall be an XML document valid against
the RELAX NG schema shown below:

nvdlWithForeignEA.rng

An NVDL schema shall not have paths as below:

mode/namespace//cancelAction
mode/anyNamespace//cancelAction

7. Simplification

...

8. Simple syntax

After applying all the rules in Section 6, the schema will be
valid against the RELAX NG schema shown below:

-

-- 
MURATA Makoto <murata@hokkaido.email.ne.jp>
--
DSDL members discussion list
To unsubscribe, please send a message with the
command  "unsubscribe" to dsdl-discuss-request@dsdl.org
(mailto:dsdl-discuss-request@dsdl.org?Subject=unsubscribe)
Received on Sat Apr 3 16:39:25 2004

This archive was generated by hypermail 2.1.8 : Fri Dec 03 2004 - 14:00:28 UTC