[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] Victory has been declared in the schema wars ...
- From: Philippe Poulard <Philippe.Poulard@sophia.inria.fr>
- To: Rick Jelliffe <rjelliffe@allette.com.au>, "Costello, Roger L." <costello@mitre.org>, xml-dev@lists.xml.org
- Date: Wed, 29 Nov 2006 17:23:42 +0100
Rick Jelliffe wrote:
> Costello, Roger L. said:
>
>>Rick Jelliffe wrote:
>>
>>[Assertion] grammars are a bad foundation
>
>
>>[Assertion] Schemas should be based on paths
>
>
>
> (Of course, even regular grammars can be made more powerful by making each
> term contain an XPath and having some kind of axis iteration for each
> step.
>
> I described this in 1999 as "Axis Expressions" and RELAX NG took it up as
> far as adding attributes to content models; but no-one has ever taken it
> to its logical extreme and allowed any XPath expression as the particle of
> a content model...perhaps the nearest is Phillipe P's ALS schema language
> (is that what it is called? Yikes my memory is so bad today...the
> interesting French one with explicit if clauses in content models.) Viewed
> in the terms of Axis Expression, currently we have a choice between
> powerful grammars over a basic axis (DTD, XSD, RELAX NG just on the child
> and preceding-sibling::*[1] axes) or very basic grammar (if we treat the
> Schematron elements as a kind of grammar that sequences constraints) with
> very powerful axes.)
thanks to recall it :)
ASL stands for the Active Schema Language
instead of building *static* content models, like grammar-based
schemata, ASL consider that a content model can be expressed
*dynamically* according to the context (datas in the XML to check
against the schema, external parameters, etc)
I agree with Rick's assertion n°1 : the flaw with grammars is that they
only allow to constraint content models in a declarative manner, which
is in essence very concise and expressive, but when you reach the limits
of your declarative syntax, there are no ways out ; you can still add a
new tag to express the missing declarative tag, but the limit still
exists a single step further ; the idea of ASL is to allow to mix
imperative tags with declarative tags (there are only 20 tags in ASL),
which brings leverage to combinatories capabilities ; in ASL, content
models are no longer hard-coded, they become active !
About the usefulness of XPath in schema languages, it is already present
in ASL, although I don't have implemented yet XPath patterns as a
selector of definitions.
==========
here is the spec :
http://disc.inria.fr/perso/philippe.poulard/xml/active-tags/active-schema/active-schema.html
and the implementation :
http://reflex.gforge.inria.fr/
some examples in the tutorial section :
1) a very simple example that uses XPath and an if-then-else statement
within a content model :
http://reflex.gforge.inria.fr/tutorial.html#N80192D
2) another very simple example that shows how to define a semantic data
type, and how to bind a typed data to an attribute value (PSVI) :
http://reflex.gforge.inria.fr/tutorial.html#N8019B7
of course, these examples are showing things that are impossible to
express with other schemata, except schematron that could check the
constraint in example 1), but schematron doesn't act in the same manner,
it doesn't define a content model
==========
I won't speak about the Active Schema Language at <XML2006>, but rather
about the Active Tags suite which ASL belongs
if you want to meet me next week you're welcome !
--
Cordialement,
///
(. .)
--------ooO--(_)--Ooo--------
| Philippe Poulard |
-----------------------------
http://reflex.gforge.inria.fr/
Have the RefleX !
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]