[
Lists Home |
Date Index |
Thread Index
]
From: "Arjun Ray" <aray@nyct.net>
> Tim Bray <tbray@textuality.com> wrote:
> | > "It can't be done" is an acceptable answer, btw.
> |
> | In the general case, it can't be done. The namespaces don't give you
> | enough information.
>
> Right. Namespaces are neither necessary nor sufficient for the general
> problem of vocabulary combination.
I think this is where the new generation schemas languages fit in. The namespaces
set general semantics, the schemas tell you how they must be combined. What neither
of them necessarily set is the semantics of combination (i.e. what do these information
items mean together, what do they mean apart) The best that a schema
can do is constraint a document language to only accept documents that
has certain semantics-of-combination.
The ISO DSDL (Document Schema Description Languages) effort has been
looking into schemas for these kinds of embedded cases. For example,
DSDL Part 4 is being currently developed (get involved! go to www.dsdl.org)
the Validation Candidate Selection Language (VCSL) looks at how to filter information
items by namespace and route them to different schemas: so that, for example,
you might be able to say "I want to validate all the HTML elements, stripping out
the xdc: elements but leaving in xml: information items, and then I want to
validate all the xdc elements, eliding any html elements with another schema."
We have been calling Arjun's use case "depth interleaving": I expect the determining
factor for how many of these kinds of embeddings can be supported will be pragmatic:
"can it be implemented streamable?" and "can it be implemented as successive filters
each generating XML with correct axes relationships intact?" (As distinct from
generating a permuted document with axes altered, such as Richard
Tobin's PSVI).
There is various material around: interested people might like to see James Clark's
Thailand Software Center website on RELAX NG: James' NMS system is one of
the inputs (with Murata Makoto's RELAX Namespaces system as the basis perhaps
sweetened with my Namespace Switchboard idea). I think Murata-san will have a
new draft of VCSL out soon, which really is a major piece in the arsenal of getting
modular schema languages and schema languages more suited to document/publishing
idioms (new and old) rather than relational/object/DTD idioms.
Of course, Schematron can constrain in this kind of area too, and architectural
forms (such as NIST's XAF) can express them too. Even WXS allows you to
skip parts that are not interesting. (Of course, Schematron and XAF are slated for
DSDL too, and its framework can be used for the legacy schema languages
such as WXS or DTDs, but the VCSL will allow a more declarative and logical approach.)
Schematron's new feature, "abstract schemas" are designed to bring out and name
some of these kinds of embedded or interleaved structures too.
Cheers
Rick Jelliffe
|