[dsdl-discuss] Re: Selection and Dispatching are different

From: MURATA Makoto <murata@hokkaido.email.ne.jp>
Date: Tue Apr 27 2004 - 15:35:48 UTC

Alex,

> As an aside, does anybody else feel that the requirement that validation
> candidates should be well-formed creates more problems than it solves? (yes,
> and I know this requirement is of long-standing). In my experience the input
> to a validation process is usually an arbitrary collection of
> (well-balanced) nodes. In NVDL it seems the selection of well-balanced
> validation candidates *is* permitted (i.e., select-by-namespace gives you
> potentially non-wf content). What happens if such a selection is dispatched
> to (say) Schematron?

No, a validation candidate created by the NVDL dispatcher is always a single element.
It may contain subordinate elements. Please see the latest draft at:

http://www.asahi-net.or.jp/~eb2m-mrt/dsdl/nvdl.pdf

> > 4) invoke validators for validation candidates
>
> Something that troubles me is the question of how much XML the validator can
> 'see'.

It can see a validation candidate only. It cannot peek the other part
of the document.

> 1. If the schema is invoked on *just* the candidate, what happens if the
> schema contains co-location rules for structures outside the selection. Or
> are we saying that a schema written 'for' a namespace can have no knowledge
> of content outside that namespace?

In such cases, the use of NVDL is not a good idea.

> 2. How does the validator emit meanigful contextual validation information
> if it doesn't know the context in which the validation candidate occurs?

No, validators invoked by the NVDL dispatcher cannot take advantage of the
entire document strucuture. Nevertheless, there are many meaningful
things that such validators can do. See
http://www.w3.org/People/mimasa/test/schemas/rng/hybrid.mns, for example.

> > The easiest is 4). Certainly, it should be possible to use Part 10
> > from 4). I think that the schema attribute of <validate> elements is
> > good enough for this purpose. We only have to reference to Part 10
> > schemas (or scripts) with this attribute.
>
> Is there going to be some more certain way of stating which schema language
> is being invoked, or is a reader meant to deduce this from naming
> conventions, etc?

We have three mechanisms: media types, namespace names, and the schemaType
attribute.
 
> > Now, it remains to consider 1). This is different from mere
> > selection, since sections are required to contain slot nodes.
> > If
> > sections do not contain slot nodes, we cannot apply 2) or 3) to
> > sections.
>
> "A slot node has no additional information; it is merely a placeholder for a
> element section" - I'm still not entirely sure what slot nodes are. Is this
> condidered from an implementation POV?

Does Section 5 in my draft answer your question? I tried to give quite a few
examples.

> Do that, and part 4 moves even closer to part 10 as a general-purpose
> selection and dispatch language.

I still think Part 10 is not a dispatching language. The kernel of NVDL
is described in Sections 9.3 through 9.7 in my draft. I believe that
it is very different from Part 10.

> > More sophisticated selection mechanisms (such as XPath) might be
> > required for creating sections. I think that such an extension should
> > be done by *borrowing* selection mechanisms from other specs and that
> > we should not try to stretch Part 4 any further.
>
> DSDL is meant to have a selection language (originally part 4!).

It is true that the word "selection" was used for Part 4. But James
and I always intended namespace-based dispatching and never intended to
develop something similar to Part 10. Probably, we should stop
using the word "selection", because we appear to have entirely different
understanding of this word. Further discussion based on miscommunication
is not useful.

>Why not
> have the option to choose which 'selection language' to use (as for
> Schematron)? XPath 1.0 has the merit of being familiar (I notice XPath
> classes are included in JDK 1.5 standard libs).
>
> > In other words, I
> > think that Part 4 should not try to be a selection language,
> > Selection
> > mechanisms should be detached from Part 4, unless they are extremely
> > simple.
>
> This may be a terminological confusion again, but surely Part 4 *is* a
> selection language, since it selects certains nodes for validation by
> certain schemas according to their namespace?

The kernel of NVDL is Sections 9.3 through 9.7 in my draft. I do not think
that it is "selection". But no matter how it is called, I think that

        (1) it is very useful for combining vocabularies (see the combination of XHTML2
        and XForms in Appendix B),

        (2) it cannot be easily merged with Part 10, and

        (3) it can nevertheless play well with Part 10.

Cheers,

-- 
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 Tue Apr 27 17:40:45 2004

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